본문 바로가기

코딩 테스트8

[코딩 테스트/ 백준 알고리즘] 1037번 : 약수 (Java 풀이) 문제 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 설명 문제 풀이 약수의 성질을 사용하면 쉽게 풀 수 있는 문제다. 어떤 수 A가 어떤 수 C의 약수라면, C / A = B인 B도 C의 약수라는 것이다. 수 진짜 약수의 개수 진짜 약수 12 4 2, 3, 4, 6 24 6 2, 3, 4, 6, 8, 12 121 1 11 12의 경우 12 % 2 = 0이기 때문에 2는 12의 약수다. 12 / 2 = 6이고, 12 % 6 = 0이.. 2022. 7. 29.
[코딩 테스트/ 프로그래머스] 2018 KAKAO BLIND RECRUITMENT - [1차] 비밀지도 (Java 풀이) 문제 설명 네오는 평소 프로도가 비상금을 숨겨놓는 장소를 알려줄 비밀지도를 손에 넣었다. 그런데 이 비밀지도는 숫자로 암호화되어 있어 위치를 확인하기 위해서는 암호를 해독해야 한다. 다행히 지도 암호를 해독할 방법을 적어놓은 메모도 함께 발견했다. 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다. 전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다. "지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다. 암호화된 배열은 지도의 각 가.. 2022. 7. 29.
[코딩테스트/ 백준 알고리즘] 4375번 : 1 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/4375 4375번: 1 2와 5로 나누어 떨어지지 않는 정수 n(1 ≤ n ≤ 10000)가 주어졌을 때, 1로만 이루어진 n의 배수를 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 설명 문제 풀이 1로만 이루어진 숫자는 1, 11, 111, 1111, 11111, ... 과 같은 숫자를 말하는 것이다. 이 중에 n의 배수가 되는 수가 몇 자리 수인가를 찾는 문제였다. 9901이 입력으로 주어진 예제를 보면 출력으로 12가 나온 것을 볼 수 있다. 12자릿수는 천억 대의 숫자이기 때문에 일반적인 자료형으로는 담아낼 수 없다. 때문에 이 문제에서는 수를 직접 만들어내지 말고 간접적으로 표현하라는 소리로 받아들일 수 있다. 이걸.. 2022. 7. 28.
[코딩 테스트/ 백준 알고리즘] 1158번 : 요세푸스 문제 (Java 풀이) 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 해설 N = 7, K = 3인 케이스일 때 위와 같은 원탁이 만들어진다. 1번을 기준으로 세번째 자리에 앉은 3번 사람을 삭제한다. 기준을 3번의 왼쪽에 앉은 4번으로 바꿔서 세번째 자리에 앉은 6번 사람을 삭제한다. 이후 이 방식으로 테이블에 앉은 모든 사람을 삭제한다. 삭제된 사람을 순서대로 출력하면 이 된다. 풀이 이 문제는 큐를 활용하면 쉽게 해결할 수 있다. 우선 큐에 N까지의 숫자를 차례대로 넣어준다. 3번을 삭제하기 위해선 앞에 있는 1과 2가 나와줘야한다. 문제에 "한.. 2022. 7. 21.