Java(160)
-
[Programmers] 성격 유형 검사하기
https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 간단한 구현 문제이다. 해결하는 방법에는 여러 방법이 있겠지만 필자는 HashMap으로 성격 유형 검사 결과를 관리했다. 고려해야할 부분은 성격 유형이 항상 일관되게 주어지지 않아 두 문자를 구별해야 하는 점이다. 이는 choice 값에서 4를 빼서 해결했다. choice - 4한 값이 0보다 크면 뒷 문자이고, 작으면 앞 문자라고 판단했다. 그 외에 특별히 어려운 점은 없다. 코드 ..
2023.08.03 -
[Programmers] 개인정보 수집 유효기간
https://school.programmers.co.kr/learn/courses/30/lessons/150370 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 문제 이해 자체는 어렵지 않으나 날짜에 대한 처리를 잘 해야 하는 문제이다. 약관 종류와 약관 별 유효기간, 수집한 개인 정보의 수집 일자, 약관 종류, 오늘 날짜가 주어진다. 개인정보 수집 일자와 유효 기간을 더한 값이 오늘보다 더 긴 경우는 아직 유효기간이 지나지 않았으므로 파기하지 않는다. 대신 더 짧은 경우 유효 기간이 지났으므로 파기해야 한다. 이때 파기해야하는 개인정보 번호..
2023.08.02 -
[Baekjoon] 2193번: 이친수
https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 문제 설명 0과 1로만 이루어진수를 이진수라고 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않는다. 이친수에서는 1이 두번 연속으로 나타나지 않는다. 즉, 11을 부분 문자열로 갖지 않는다. 예를 들면 1, 10, 100, 101, 1000, 1001 등이 이친수가 된다. 하지만 00101..
2023.05.20 -
[Baekjoon] 9657번: 돌 게임 3
https://www.acmicpc.net/problem/9657 9657번: 돌 게임 3 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net 문제 설명 돌 N개가 있다. 상근이와 창영이는 턴을 번갈아가면서 돌을 가져가며 돌은 1개, 3개 또는 4개를 가져갈 수 있다. 마지막 돌을 가져가는 사람이 게임을 이긴다. 두 사람이 완벽하게 게임했을 때 이기는 사람을 구하는 프로그램을 작성해라. 게임은 상근이가 먼저 시작한다. 입력 1 C가 1개 -> S가 1개를 가져가서 S가 이긴다. 돌이 6개면 S가 4개 -> C가 1개 -> S가 1개를 가져가서 S가 이긴다. 돌이 7개면 S가 1개 -> C가 4개 -> S가 1개 -> C가 1개를 가져가서 C가 이긴다. 돌..
2023.05.12 -
[Baekjoon] 1991번: 트리 순회
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 문제 설명 주어진 이진 트리를 전위, 중위, 후위 순회한 결과를 출력하면 된다. 별다르게 어려울 건 없다. 이진 트리와 순회 방식만 알면 쉽게 풀 수 있다. 이진 트리의 순회는 다음 방식과 같다. 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGF..
2023.05.12 -
[Baekjoon] 1912번: 연속합
https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 설명 DP를 활용한 기본 문제이다. DP가 늘 그렇듯이 반복되는 규칙을 찾아내고 점화식을 구하면 된다. 이 문제의 경우 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구해야 한다. 단, 수는 한 개 이상 선택해야 한다. 예제 입력 1을 가지고 보도록 하자. 앞에서부터 구해보자. 먼저 수를 단 한 개 이상 선택해야 한다고 했으므로 현재 최댓값은 10으로 하자. 그 다음 수인 -4와 더..
2023.05.10