1316번 그룹 단어 체커 알파벳을 Key값으로 받는 Map을 만들고 value는 boolean 타입의 사용되었는지 확인하는 값 추가mapalphabet값이 false면 아직 나타나지 않은 경우mapalphabet == true이고 이전 값이 현재 값과 같으면 연속된
1004번 어린왕자원의 방정식을 이용해 해당 점이 원의 안에 있는지 밖에 있는지 판단하여 만나야하는 점의 개수를 파악했다. 1) 두 점이 한 원의 내부에 있는 경우원의 경계선을 지나지 않는다2) 두 점 모두 한 원의 밖에 있는 경우원 밖으로 이동해서 가면 된다3) 두
18111번 마인크래프트각 좌표마다 동일한 층이 존재할 수 있으므로 map을 이용해서 <높이, 좌표개수>를 저장한다답 변수로 <최소 시간, 높이>를 지정한 뒤가능한 높이(0..256)까지 돌면서 필요한 최소시간을 계산
10026번 적록색약두 개의 방문리스트 생성 ArrayList로 변경하여 사용하면 좋겠다graph를 forEachIndexed로 돌면서 해당 list도 forEachIndex로 돌린다방문값이 false인 경우를 만나면 구역을 +1 한다이후 네 방향으로 bfs를 돌려 같
2470번 두 용액용액의 특성값을 오름차순 정렬왼쪽 끝과 오른쪽 끝을 더해가며1) 더한 값이 > 0 인 경우2) 더한 값이 < 0 인 경우3) 더한 값이 ==0 인 경우
9461번 파도반 수열한 변의 가장 긴 길이를 기준으로 추가가 될 때, 이전에 추가된 삼각형 변의 길이와 밑 변의 연장선을 공유하는 삼각형의 길이가 추가된다. 따라서, PN = PN-1 + PN-5의 점화식을 얻을 수 있다.
9205번 맥주마시면서 걸어가기맥주는 편의점에 가면 무조건 20병이 채워지므로 점과 점사이의 거리가 1000m이하면 어디든 갈 수 있고 다시 20병으로 채워지므로 1000m를 기준으로 갈 수 있는 곳이 있는지 없는지 구분하였다한 점을 기준으로 갈 수 있는 모든 편의점을
5557번 1학년DFS, BFS를 사용할 경우 예제만 보더라도 70억개를 확인해야한다. 따라서 다른 방법을 고려하였다다른 방법으로 DP를 떠올렸고 상근이는 (0..20)까지의 숫자만 알고 있으므로 크기가 21인 Array를 이용하여 해당 값이 나온 횟수를 이용해서 문제
10814번 나이순 정렬Stable Sorting을 이용할 경우에 나이순으로 정렬하면 된다.주어진 Sort함수가 아닌 Sort를 구현해서 풀어보았다. 하지만 시간 초과로 인해 다른 방법을 찾아야했다.시간 초과의 원인은 시간복잡도가 O(n^2)인 로직때문이었다.그래서 전
1620번 나는야 포켓몬 마스터 이다솜도감에 순서대로 넣고 이름을 검색하면 번호가 나오고, 번호를 검색하면 이름이 나오는 구조이므로 array사용해서 하는 것 보다는 Map을 이용해서 빠르게 조회하는 것이 좋다고 판단하였습니다.따라서, Pocketmon Name Map
2671번 잠수함식별"""((100+1+)|(01))+"""를 이용해서 풀이를 처음하였는데 100110011001의 경우에는 10011을 하나로 매칭시켜서 문제를 풀지 못하였다.따라서 100을 기준으로 split하였고 각 내부에 위의 정규표현식이 통과되는지 확인하였다.
11286번 절댓값 힙Prioirity Queue의 값 비교 방식을 Custom Comparator를 이용하였다.이전 최소힙, 최대힙 문제에서 heap을 구현한 적이 있다.일반적으로 priority queue를 이용해서 heap을 구현하는데, 이전에 구현했을 때는 co
1024번 수열의 합N까지의 합을 구한 값에 K 까지의 합을 구한 값을 빼서 찾는 방식으로 접근하는 것도 생각해보았으나, 시간문제로 힘들 것 같다고 판단하여N을 만드는 L개의 연속정수에 초점을 맞추었다.최소 L개이고 최대 100개이므로 시간복잡도를 확 줄일 수 있었다.
2206번 벽 부수고 이동하기처음 접근한 방법은 그래프row이 1인 경우 0으로 바꿔서 다시 bfs를 이용해 최단경로를 구하는 방법이였다.이방법은 시간복잡도가 O(n^4)까지 되어서 시간초과가 생겼다.이 방법에서 개선하기 위해 고민한 결과 파괴 전,후에 대한 방문 여부
3107번 IPv6규칙2) 만약 0으로만 이루어져 있는 그룹이 있을 경우 그 중 한 개 이상 연속된 그룹을 하나 골라 콜론 2개(::)로 바꿀 수 있다. 이 규칙은 한 번만 사용할 수 있다.받은 입력값을 ":"를 기준으로 split을 해주었습니다.(::)이 있는 경우
2636번 치즈최대 길이가 가로,세로 100이기 때문에 완전탐색 방법을 택했다.그래프를 만들 때, 1은 cheese로 보고 풀었고 0은 inner와 outer로 구분하여 풀기로 하였습니다. 처음에 값을 받을 때 모든 0을 inner로 만들었습니다.Mark 함수(0,0)
14936번 엘리베이터 장난완전탐색으로 접근시간초과최대개수 100,000Filter를 이용하여 접근시간 초과최대 10만개의 경우 filter, map 등 추가적인 작업이 많아 100만 횟수가 넘는다고 판단했슴수학적 접근같은 곳을 두 번 누르면 초기 상태인 점에서 착안하
백준 15650번 N과 M(2)자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열고른 수열은 오름차순이어야 한다.(1 ≤ M ≤ N ≤ 8)n-m의 인덱스까
백준 11723번 - 집합비어있는 공집합 S가 주어졌을 때, 아래 연산을 수행하는 프로그램을 작성하시오.add x: S에 x를 추가한다. (1 ≤ x ≤ 20) S에 x가 이미 있는 경우에는 연산을 무시한다.remove x: S에서 x를 제거한다. (1 ≤ x ≤ 20
백준 2502번 - 떡먹는호랑이하루에 한 번 산을 넘어가는 떡 장사 할머니는 호랑이에게 떡을 주어야 산을 넘어갈 수 있는데, 욕심 많은 호랑이는 어제 받은 떡의 개수와 그저께 받은 떡의 개수를 더한 만큼의 떡을 받아야만 할머니를 무사히 보내 준다고 한다. 예를 들어 첫
도시에는 N개의 빌딩이 있다.빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다.i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으로만 볼 수 있다.i번째 빌딩 관리인이 볼 수 있는 다른 빌딩의 옥상 정원은 i+1,
백준 1520번 - 내리막길여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한
백준 11047번 - 동전0준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.가장 비싼 돈 부터 확인하면서, 해당
백준 16398번 - 행성 연결홍익 제국의 중심은 행성 T이다. 제국의 황제 윤석이는 행성 T에서 제국을 효과적으로 통치하기 위해서, N개의 행성 간에 플로우를 설치하려고 한다.두 행성 간에 플로우를 설치하면 제국의 함선과 무역선들은 한 행성에서 다른 행성으로 무시할
백준 11559번 - Puyo Puyo뿌요뿌요의 룰은 다음과 같다.필드에 여러 가지 색깔의 뿌요를 놓는다. 뿌요는 중력의 영향을 받아 아래에 바닥이나 다른 뿌요가 나올 때까지 아래로 떨어진다.뿌요를 놓고 난 후, 같은 색 뿌요가 4개 이상 상하좌우로 연결되어 있으면 연
1927번 최소힙11279번 최대힙heap 구현을 직접하여 풀이하였다.heap 내부는 node를 이용하는 Tree구조가 아닌 Array를 이용하여 문제를 풀었다.자식 노드와 부모 노드의 인덱스 관계식을 얻어서 siftUp/Down 함수를 만들었고해당 함수를 사용하는 i
9184번 신나는 함수 실행재귀로 푸는 방식은 콜스택이 너무 많이 쌓이고 큰 수가 여러 번 나오면 시간이 초과될 것이 분명했다.하지만 문제에서 주어진 조건을 분석했을 때, 숫자는 -50 <= a <= 50이였지만 실제로 필요로 하는 값은 0<= a &l
백준 - 1744번 수 묶기길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치
백준 - 11657번 타임머신N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 버스가 M개 있다. 각 버스는 A, B, C로 나타낼 수 있는데, A는 시작도시, B는 도착도시, C는 버스를 타고 이동하는데 걸리는 시간이다. 시간 C가 양수가 아닌
백준 - 1774번 우주신과의 교감문제황선자씨는 우주신과 교감을 할수 있는 채널러 이다. 하지만 우주신은 하나만 있는 것이 아니기때문에 황선자 씨는 매번 여럿의 우주신과 교감하느라 힘이 든다. 이러던 와중에 새로운 우주신들이 황선자씨를 이용하게 되었다.하지만 위대한 우