[c++] iterator에 대해서
1) 컨테이너에 저장되어 있는 원소들을 참조할 때 사용 2) 추장적으로, 컨테이너의 모든 원소들을 볼 수 있는 포인터와 비슷한 객체, 여러 종류가 있음. 3) 반복자의 성질을 가지므로, 컨테이너와 안의 요소를 구별, 요소의 값 확인, 컨테이너 안에 있는 요소들 간의 이동할 수 있는 연산 제공 4) end() 함수는 끝이 아님, 맨 마지막 원소의 다음번 원소를 가르킴. 5) 반복자의 종류 - 입력 반복자(input iterator) : 읽기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 읽을 수 있는 반복자 - 출력 반복자(output iteraotr) : 쓰기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 쓸 수 있는 반복자 - 순방향 반복자(forward iterator) : 읽기/쓰기 모두 가..
2023. 7. 13.
[c++] 백준 키로거(5397), 연결리스트, 반례모음
문제 https://www.acmicpc.net/problem/5397 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키보드로 입력한 키는 알파벳 대문자, 소문자, 숫자, 백스페이스, 화살표이다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서..
2023. 7. 13.
[c++] 백준 숫자의 개수(2577), 배열
문제 https://www.acmicpc.net/problem/2577 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 ..
2023. 7. 13.