목록알고리즘/문제(백준 | 기타) (3)
familiar-ming 님의 블로그
* 인프런 강의 '입문자를 위한 코딩테스트 핵심(이론과 문제풀이) [Python]' 교안에 있는 문제입니다. (유료 강의 보기 바로가기) 문제 확인 풀이 & 배움 [1] 강의 정리이 문제는 5X5 격자에서 검정색 영역들이 몇 개의 구역으로 나누어져 있는지 찾는 문제이다.위의 필기 예시에서 구역의 개수는 2로, 2가 정답이다.추가로 Flood fill 방식으로 DFS를 사용하여 연결된 구역을 찾는 문제이다.Flood fill 방식은 하나의 특정한 지점에서 시작해 상하좌우로 연결된 동일한 값을 가진 영역을 모두 탐색하는 알고리즘이다. 크게 2중 for문을 돌아 탐색을 한다. [x, y] 기준으로 [0,0] -> [0,1] -> [0, 2] ... -> [1,0] -> [1,1] -> ... ..
문제 확인백준_10814 문제 확인하러 가기 나이순 정렬문제온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 입력첫째 줄에 온라인 저지 회원의 수 N이 주어진다. (1 ≤ N ≤ 100,000)둘째 줄부터 N개의 줄에는 각 회원의 나이와 이름이 공백으로 구분되어 주어진다. 나이는 1보다 크거나 같으며, 200보다 작거나 같은 정수이고, 이름은 알파벳 대소문자로 이루어져 있고, 길이가 100보다 작거나 같은 문자열이다. 입력은 가입한 순서로 주어진다.출력첫째 줄부터 총 N개의 줄에 걸쳐 온라인 저지 회원을 나이 순, 나이가 같으면 가입한 순으로 한 줄에 한 명..
문제 확인백준 1110 문제 확인하러 가기 더하기 사이클문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자.26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다.위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다.N이 주어졌을 때, N의 사이클의..