![[백준/JAVA] 9095번 1, 2, 3 더하기 (dp)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FB8m3u%2FbtsKTlyCB4E%2Fim5gimDKegarPXgo3UqBfk%2Fimg.webp)
문제더보기문제 링크 https://www.acmicpc.net/problem/9095 문제 설명정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다.1+1+1+11+1+21+2+12+1+12+21+33+1정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. 출력각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 제한 사항n은 양수이며 11보다 작다. 입출력 예시 문제 풀이접근 방법1, 2, 3 을 활용해서 합을 나타낸다.규칙성을 찾아보자..
![[백준/JAVA] 1463번 1로 만들기 (dp)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdeHpBU%2FbtsKT3KvDCz%2FYvjEEvL5pPKb7JQmwSJj21%2Fimg.webp)
문제더보기문제 링크 https://www.acmicpc.net/problem/1463 문제 설명정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.X가 3으로 나누어 떨어지면, 3으로 나눈다.X가 2로 나누어 떨어지면, 2로 나눈다.1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 힌트10의 경우에 10 → 9 → 3 → 1 로 3번 만에 만들 수 있다. 제한 사항1 ≤ N ≤ 10^6 입출력 예시 문제 풀이접근 방법3가지 연산을 적절히 사용해서 숫자 N 을 1로 만드는 최소 연산 횟수를 구해야한다.처음에 헤맸었던게 마냥 2,3의 배수면 나눴던 것이 잘못된 방법이었다.-1, /2, /3 의 모든 경우의 ..
![[백준/JAVA] 11399번 ATM](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FYoDM7%2FbtsKQEZgsK1%2FMYwx74gWRZeDQAP91t0wo1%2Fimg.webp)
문제더보기문제 링크 https://www.acmicpc.net/problem/11399 문제 설명인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다.사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다.사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다.예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자.[1, 2, 3, 4, 5] 순서로 줄을 선다면, 1번 사람은 3분만에 돈을 뽑을 수 있다.2번 사람은 1번 사람이 돈을 뽑을 때 까지 기다려야 하기 때문에, 3+1 = 4분이 걸리게 된다.3번 사람은 1번, 2번 사람이..
![[백준/JAVA] 1764번 듣보잡](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbsvH3n%2FbtsKQ7fvaU7%2FG7EZ3hP9VKgRMnvei2prHk%2Fimg.webp)
문제더보기더보기문제 링크 https://www.acmicpc.net/problem/1764 문제 설명 문제김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오. 입력첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다.이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 출력듣보잡의 수와 그 명단을 사전순으로 출력한다. 제한 사항이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다.N, M은 500,000 이하의 자연수이다.듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다. ..
![[백준/JAVA] 11723번 집합](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbdsd89%2FbtsKQFiV5J7%2Fyk43vLUcoawCwTN0jMGZn0%2Fimg.webp)
문제더보기문제 링크 https://www.acmicpc.net/problem/11723 문제 설명비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20) S에 x가 없는 경우에는 연산을 무시한다.check x: S에 x가 있으면 1을, 없으면 0을 출력한다. (1 ≤ x ≤ 20)toggle x: S에 x가 있으면 x를 제거하고, 없으면 x를 추가한다. (1 ≤ x ≤ 20)all: S를 {1, 2, ..., 20} 으로 바꾼다.empty: S를 공집합으로 바꾼다. 제한 사항 메모리 제한Java 8: 448 MBJav..
![[프로그래머스/JAVA] 72413번 합승 택시 요금 (다익스트라)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrbluW%2FbtsKQH1GdT8%2F08n4RdHkDEHK6hHGbfvaD0%2Fimg.png)
문제더보기문제 링크2021 KAKAO BLIND RECRUITMENT 합승 택시 요금 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다.무지 는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다.무지 는 어피치 와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면..
그래프에서 최단 경로란?특정 A 노드에서 B 노드로 이동하려할때 A에서 B로가는 여러가지의 경로가 존재 한다면 그중에서 거리가 가장 짧은 경로를 최단 경로라고 한다.그래프에서 거리가 짧다는 것은 간선에 가중치가 없다면 간선이 최소인 경로, 가중치가 있다면 그래프에 음수 사이클이 없을 경우 경로의 가중치의 합이 최소를 의미한다. 다익스트라특정 정점에서 갈 수 있는 모든 정점들까지의 최단 경로를 구하는 알고리즘우선순위 큐를 사용가중치가 음수인 간선이 없는 가중 그래프에서 사용O(ElogV) 알고리즘 과정출발 노드의 거리를 0으로 설정하고, 다른 모든 노드의 거리를 무한대(∞)로 초기화한다.현재 위치한 노드의 인접 노드 중 방문하지 않은 노드를 찾아서 그 중 거리가 가장 짧은 노드를 선택하고 그 노드를 방문 ..
![[프로그래머스/JAVA] 81305번 시험장 나누기 (DFS, 이진탐색)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbS85Ib%2FbtsKGPUTVpQ%2FWS4DzLWrSkjQtOVHuVep0K%2Fimg.png)
문제더보기문제 링크시험장 나누기https://school.programmers.co.kr/learn/courses/30/lessons/81305 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명카카오 인턴을 선발하는 코딩 테스트 시험장이 하나의 이진 트리 형태로 연결되어 있습니다. 아래 그림은 12개의 시험장이 연결된 예시입니다. 하나의 노드는 하나의 시험장을 나타냅니다.검은 바탕의 흰 숫자는 해당 시험장의 고유 번호(ID)를 나타냅니다.시험장이 n개 있다면, 시험장의 고유 번호는 0부터 n-1까지 부여됩니다.노드 안의 빨간 숫자는, 해당 시험장의 응시자 수를 나타냅니다.위의 그림에서, 9번 시..