문제2C-다양성 - 알고리즘 문제해결기법 입문
알고리즘 문제해결기법 입문
    • 01
      About Course
    • 공부하는 방법
      문제 모범 답안
      알고리즘이란
      알고리즘이 어려운 이유
    • 02
      0. Introduction & Tutorial
    • 알고리즘과 자료구조
      문제 해결하기
      약속하기
      문제의 구성
      입력과 출력
      문제0A-출력해보기
      문제0B-입력받아보기
      문제0C-반복해보기
      문제0D-저장해보기
      문제0E-테스트케이스
    • 03
      1. 코드와 친해지기
    • 챕터1 강의노트 (임시)
      코드와 친해지기
      반복문과 친해지기
      문제1A-최대값 함수
      문제1B-배열의 최대값
      문제1C-카운팅하기
      문제1D-합 구하기1
      문제1E-합 구하기2
      문제1F-탐색하기1
      문제1G-탐색하기2
      문제1H-탐색하기3
      문제1I-선택정렬 구현하기
      문제1J-합 구하기3
      단원 되짚어보기 & 해설
    • 04
      2. 알고리즘의 연산량
    • 연산량과 시간복잡도
      챕터2 강의노트 (임시)
      실제 연산량 줄이기
      문제2A-도토리 키재기
      문제2B-오름차순인가?
      문제2C-다양성
      문제2D-문자열의 비교
      문제2E-소수의 판별
      문제2F-데스티니
      문제2G-버블정렬 구현하기
      문제2H-픽셀 수 세기
      문제2I-정주행
      문제2J-승부 조작
      단원 되짚어보기
    • 05
      3. 공간 활용하기
    • 배열의 특징
      챕터3 강의노트(임시)
      배열 활용하기
      문제3A-전화번호
      문제3B-페인트
      문제3C-응모
      문제3D-피보나치 나머지
      문제3E-색종이
      문제3F-과유불급
      문제3G-팬미팅
      문제3H-두 카드
      문제3I-세 카드
      문제3J-네 카드
    • 06
      4. 자주 사용되는 수학 알고리즘
    • 챕터4 강의노트(임시)
      문제4A-스도쿠 보드
      문제4B-Probing
      문제4C-최대공약수와 최소공배수
      문제4D-수열의 순환
      문제4E-소인수 분해
      문제4F-소수 세기
      문제4G-배열 흔들기
      문제4H-카잉 달력
      문제4I-골드바흐의 추측
      문제4J-공약수 게임
    • 07
      5. 구현 훈련하기
    • 문제5A-놀이 공원
      문제5B-거대 놀이 공원
      문제5C-레이저 타워
      문제5D-레이저 타워 건설하기
      문제5E-숫자 채우기1
      문제5F-숫자 채우기2
      문제5G-숫자 채우기3
      문제5H-두 직사각형
      문제5I-두 선분
      문제5J-로봇 청소기
      문제5K-고성능 로봇 청소기
      문제5L-NBA농구
      문제5M-와일드 카드
      문제5N-패턴 검사
      문제5O-단어 퍼즐
      문제5P-이름 짓기
    • 08
      6. 자료구조 활용하기
    • 챕터6 강의노트 (임시)
      문제6A-괄호 문자열
      문제6B-탑
      문제6C-히스토그램
      문제6D-조세퍼스 문제
      문제6E-폭탄 제거
      문제6F-폭탄 제거 순서 정하기
      문제6G-불안정 지역
      문제6H-중복 제거하기
      문제6I-정사각형
      문제6J-빈도수 세기
      문제6K-시장 추천하기
      문제6L-배열 합치기
      문제6M-이중 우선순위 큐
      문제6N-중앙값 큐
      문제6O-피자 하와이
    • 09
      7. 재귀 함수와 분할 정복
    • 챕터7 강의노트(임시)
      [문제07A] 모든 조합 출력하기
      [문제07B] 하노이의 탑
      [문제07C] 단지 번호 붙이기
      [문제07D] Merge Sort 구현하기
      [문제07E] Quick Sort 구현하기
      [문제07F] 히스토그램
      [문제07G] Counting Inversion Pairs
      [문제07H] Finding Closet Pair
    • 10
      8. DFS/BFS
    • 챕터8 강의노트(임시)
      [문제08A] - 그래프의 탐색 1
      [문제08B] - 그래프의 탐색 2
      [문제08C] - 그래프의 최장 경로
      [문제08D] - 그래프의 최단 경로
      [문제08E] - 바이러스
      [문제08F] - 미로 탈출하기
      [문제08G] - 토마토
      [문제08H] - 소수 경로
      [문제08I] - 스도쿠 보드 채우기
      [문제08J] - N Queen
    • 11
      9. 그래프 알고리즘
    • 챕터9 강의노트(임시)
      [문제09A] 해밀턴 경로
      [문제09B] 외판원 순회 문제
      [문제09C] 한 붓 그리기
      [문제09D] 그래프의 연결성
      [문제09E] 최소 신장 트리 1
      [문제09F] 최소 신장 트리 2
      [문제09G] 그래프의 최단 거리
      [문제09H] 그래프의 최단 거리 2
    • 12
      10. 동적 계획법
    • [문제10A] 가장 긴 부분 증가수열 (LIS)
      챕터10 강의노트(임시)
      [문제10B] 팬스 수리하기
      [문제10C] 아르바이트
      [문제10D] 회선 설치하기
      [문제10E] 2차원 누적합
      [문제10F] 퀼팅(Quilting)
      [문제10G] 가장 긴 공통 부분 문자열 (LCS)
      [문제10H] Ah-choo!
      [문제10I] 곱하기는 귀찮아
      [문제10J] 올바른 괄호 문자열
      [문제10K] 배낭 문제 (Knapsack Problem)
      [문제10L] 7 Segment Display
    • 13
      11. 문제를 푸는 다른 방법
    • 챕터11 강의노트(임시)
      [문제11A] 지하철을 빠르게 빠르게
      [문제11B] 감시 로봇
      [문제11C] 복도 통과하기
      [문제11D] Selling Cells
      [문제11E] 인구조사
      [문제11F] 그래프 최소 분할
    • 14
      12. 문자열 알고리즘
    • 챕터12 강의노트 (임시)
      [문제12A] Rabin Karp
      [문제12B] KMP
      [문제12C] 실패함수 계산하기
      [문제12F] Trie 구현하기
    • 15
      Appendix - Java
    • 16
      Appendix - C++
    문제2C-다양성
    learn
    Practice
    learn
    04 2. 알고리즘의 연산량
    문제2C-다양성
    정렬된 데이터는 다양한 특성을 가집니다. 정렬된 데이터의 특성을 생각하며 문제를 해결해봅시다.
    Practice

     가수의 앨범은 팬들에게는 중요한 존재이다. 긴 기다림의 끝에 마주친 오아시스 같은 존재이기 때문이다. 그렇기에 최근의 가수들은 자신의 앨범에 기념품이나 손편지 등을 추가하여 팬들에게 고마운 마음을 전하고있다. 

     인기 많은 아이돌 트와이스의 열렬한 팬인 민규는 이번에도 앨범을 사기 위하여 신촌의 한 백화점에 줄을 서서 대기하고있다. 이 백화점에서 판매하는 앨범은 한정판으로서, 각 앨범에는 임의의 화보가 한 장 들어있다. 이미 입대가 얼마남지 않은 민규는 자신의 모든 재산을 털어 트와이스 앨범을 구매하여 모든 종류의 화보를 수집하고자 한다.

     각 화보들은 종류별로 고유한 번호를 가지고있으며 이 번호를 통해 같은 화보인지 아닌지 구분할 수 있다. 물론 여러 앨범들에는 같은 화보가 들어있을 수 있다. 민규는 총 N개의 앨범을 구매하여 화보들을 번호 순서대로 정렬하여 보관하려고 한다. 이 때 민규는 자신이 총 몇 종류의 화보를 획득하였는지 궁금해졌고, 코딩을 잘하는 당신에게 이를 계산하는 프로그램을 작성해주기를 부탁하였다. 민규의 마지막 소원을 들어주기 위하여 프로그램을 작성하시오.


    입력 형식

     첫 줄에는 화보의 수 N이 주어진다. N은 1이상 10만 이하의 자연수이다.

    두 번째 줄에는 각 화보의 고유번호가 공백으로 구분되어 주어진다. 각 화보의 고유번호는 32비트 정수형 중 하나로 주어지며, N개의 고유번호는 오름차순으로 주어진다.


    출력 형식

     한 줄에 중복을 제외한 화보의 종류의 수를 공백없는 자연수로 출력한다. 

    Input/Output Example
    :
    Blank
    :
    Line Break
    :
    Tab
    Example 1
    Input
    5
    12345
    Output
    5
    Example 2
    Input
    5
    12344
    Output
    4
    Example 3
    Input
    5
    -1-1-1-1-1
    Output
    1
    ⋇ Please keep the input and output formats carefully
    learn
    Practice
    Q & A
    Q&A forum that anyone can ask and answer.
    Share your questions and answers with other students and grow together!

    Registered Questions(0)