프로그래머스 알고리즘 문제풀이 - Notion그동안은 프로그래머스를 통해 알고리즘 문제 풀이를 하다가 백준으로 처음 넘어오니, 문제가 굉장히 불친절하다는 느낌을 받았다.데이터를 입출력하는 방식부터 머뭇거리는 날 보고 프로그래머스보단 불친절한 백준을 풀어봐야겠다는 생각이
6603 로또 문제 링크 문제 분석 1~49까지의 수 중 k(k>6)개의 수를 선택 k개의 수로 만들 수 있는 집합 S를 모두 출력 입력 조건 ( k의 수 + k ) : 하나의 테스트 케이스를 한 줄로 작성 테스트 케이스 여러 개를 한 번에 입력 입력 마지막 줄은
14567 선수과목 문제 링크 문제분석 선수 과목의 수강을 고려하여 모든 각 과목들의 이수가 가능한 최소 학기를 구하라 ( 한 학기에 들을 수 있는 과목 수는 제한없음 ) ( 모든 과목은 매 학기 항상 개설됨 ) 입력 조건 첫째 줄 : 과목 수 N(1≤ N≤1000
1149 RGB거리 문제 링크집을 빨강, 파랑, 초록 중 하나로 칠하는 비용이 각각 주어짐( i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 함 )다음을 만족하는 최솟값을 구하는 문제첫째 줄 : 집의 수 N(2 ≤ N ≤ 1,000)둘
5557 1학년 문제 링크숫자 N개가 주어짐숫자(1~(N-1)) 모두를 덧셈 혹은 뺄셈 연산하여 그 결과가 마지막 숫자여야 함계산 중에 나오는 수는 0~20 범위 안이여야 함첫째 줄 : 숫자의 개수둘째 줄~ : 숫자 (공백으로 구분)개수를 출력Maini=1;wht =
1209 Sum 문제 링크 문제분석 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값 구하기 예시 : 제
SWEA 1220 문제 링크푸른 자성체는 N극에 이끌림, 붉은 자성체는 S극에 이끌림자성체들을 테이블에 두고 자기장을 걸었을 때, 발생하는 교착 상태의 개수를 구하라예시 :A : S극에 이끌리면서 테이블 아래로 떨어짐B : N극에 이끌리면서 테이블 아래로 떨어짐D :
1204 최빈수 구하기 문제 링크1000명 수학 성적의 최빈수 구하기학생은 1000명각 학생의 점수는 0이상 100이하최빈수가 여러 개 인 경우, 가장 큰 점수를 출력첫째 줄 : 테스트 케이스 개수 ( T )둘째 줄 : 테스트 케이스 번호셋째 줄 : 학생 1000명의
1215 회문1 문제 링크회문(回文, palindrome) : "기러기", "토마토", "스위스"와 같이 똑바로 읽어도 거꾸로 읽어도 똑같은 문장이나 낱말예시 :위 그림에서 회문 4개를 찾음테스트 케이스는 총 10개각 칸의 들어가는 글자는 'A', 'B', 'C' 중
1244 최대 상금 문제 링크 문제분석 제약 사항 입력 조건 출력 조건 #1
1859 백만 장자 프로젝트 문제 링크연속된 N일 동안의 물건의 매매가를 알고있음하루에 최대 1만큼 구입 가능, 판매는 제약없음최대한의 이득 계산첫째 줄 : 테스트 케이스 수 ( T <= 10 )둘째 줄 : N일 (2 ≤ N ≤ 1,000,000)셋째 줄 : 각
1954 달팽이 숫자 문제 링크1부터 N\*N까지의 숫자가 시계방향으로 이루어짐정수 N을 입력 받아 N크기의 달팽이 출력N(1 ≤ N ≤ 10)은 정수첫째 줄 : 테스트 케이스 수 ( T <= 10 )둘째 줄 : N(1 ≤ N ≤ 10)달팽이 숫자 출력재귀를 활용
1873 상호의 배틀필드 문제 링크"배틀 필드"의 프로토타입 개발게임 맵의 구성 요소사용자가 넣을 수 있는 입력의 종류전차가 이동을 하려는 곳이 게임 맵 밖이라면 전차는 이동하지 않음전차가 포탄을 발사하면,포탄은 벽에 충돌하여 소멸하거나게임 맵 밖으로 나가 소멸함만약
1216 회문2 문제 링크 문제분석 100x100 글자판의 가로, 세로에서 가장 긴 회문의 길이를 구하는 문제 제약 사항 각 칸의 들어가는 글자는 'A', 'B', 'C' 중 하나 (char type) 글자 판은 항상 정사각형임 ABA, ABBA, A 모두 회문임
1213 String 문제 링크주어지는 영어 문장에서 특정한 문자열의 개수를 반환예시Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.위 문
1217 거듭 제곱 문제 링크두 개의 숫자 N, M이 주어질 때, N의 M 거듭제곱 값을 구하는 프로그램을 재귀호출을 이용하여 구현예시2 5 = 2 X 2 X 2 X 2 X 2 = 323 6 = 3 X 3 X 3 X 3 X 3 X 3 = 729java: import j
1228 암호문1 문제 링크I(삽입) x, y, s앞에서부터 x의 위치 바로 다음에 y개의 숫자를 삽입s는 삽입할 숫자들임위의 규칙에 맞게 작성된 명령어를 나열하여 만든 문자열이 주어졌을 때, 암호문을 수정하고, 수정된 결과의 처음 10개 숫자를 출력하는 프로그램을 작
1230 암호문3 문제 링크I(삽입) x, y, s : 앞에서부터 x번째 암호문 바로 다음에 y개의 암호문을 삽입. s는 덧붙일 암호문들임.ex) I 3 2 123152 487651D(삭제) x, y : 앞에서부터 x번째 암호문 바로 다음부터 y개의 암호문을 삭제.ex
5431 민석이의 과제 체크하기 문제 링크어떤 번호의 사람이 제출했는지에 대한 목록을 받음과제를 제출하지 않은 사람의 번호를 오름차순으로 출력하라번호는 1이상 N이하의 정수임같은 번호가 두 번 이상 주어지는 경우는 없음첫째 줄 : 테스트 케이스 수 ( T <= 1
11315 오목 판정 문제 링크N X N 크기의 오목 판판의 각 칸에는 돌이 있거나 없을 수 있음 돌이 가로, 세로, 대각선 중 하나의 방향으로 다섯 개 이상 연속한 부분이 있는지 없는지 판정하는 프로그램 개발첫째 줄 : 테스트 케이스 수 ( T <= 10 )둘째
1149 RGB거리 문제 링크RGB거리에는 1번 집부터 N번 집이 순서대로 있음모든 집을 빨강, 초록, 파랑 중 하나의 색으로 칠할 예정각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어질 때, 모든 집을 칠하는 최소 비용 구하기i (2 ≤ i ≤ N-1)번 집의
9657 돌 게임 3 문제 링크돌 N개를 상근이와 창영이가 번갈아가며 가져감돌은 한 번에 1개, 3개, 4개 가져갈 수 있음마지막 돌을 가져가는 사람이 이김게임은 항상 상근이가 먼저 시작두 사람은 항상 최선의 선택을 함첫째 줄 : 돌의 개수 N (1 ≤ N ≤ 1000
2438 별 찍기 1 문제 링크2439 별 찍기 2 문제 링크2440 별 찍기 3 문제 링크2441 별 찍기 4 문제 링크2442 별 찍기 5 문제 링크2443 별 찍기 6 문제 링크2444 별 찍기 7 문제 링크2445 별 찍기 8 문제 링크
10844 쉬운 계단 수 문제 링크인접한 모든 자리의 차이가 1인 수를 계단 수라고 함ex) 45656N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하기계단 수는 0으로 시작할 수 없음첫째 줄 : 계단 수의 길이 N (1 ≤ N ≤ 100)답을 1,000
2563 색종이 문제 링크가로, 세로가 각각 100인 정사각형의 흰색 도화지에 가로, 세로가 각각 10인 정사각형의 검은색 색종이를 색종이 변과 도화지 변이 평행하도록 붙임색종이가 붙은 검은 영역의 넓이를 구하라ex) 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였
18258 큐2 문제 링크정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성push X: 정수 X를 큐에 넣음pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력큐에 정수가 없는 경우 -1을 출력size: 큐에 들어있는 정수의
28279 덱2 문제 링크정수를 저장하는 덱을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성1 X: 정수 X를 덱의 앞에 넣음 (1 ≤ X ≤ 100,000)2 X: 정수 X를 덱의 뒤에 넣음 (1 ≤ X ≤ 100,000)3: 덱에 정수가 있다면 맨
2346 풍선 터뜨리기 문제 링크1번부터 N번까지 N개의 풍선이 원형으로 놓여 있음i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있음1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있음각 풍선 안에는 -N보다 크거나 같
14235 크리스마스 선물 문제 링크차례대로 방문한 아이들과 거점지의 정보들이 주어졌을 때, 아이들이 준 선물들의 가치들을 출력만약 아이들에게 줄 선물이 없다면 -1을 출력첫째 줄 : 아이들과 거점지를 방문한 횟수 N(1≤N≤5,000)둘째 줄 : 충전하는 선물 개수,
1715 카드 정렬하기 문제 링크A, B 두 묶음을 합쳐서 하나로 만들려면 A+B 번의 비교를 해야 함ex) 10장, 20장, 40장의 묶음이 있는 경우10장과 20장을 합친 뒤, 합친 30장 묶음과 40장을 합치는 경우 (10 + 20) + (30 + 40) = 10
Lv.1 동영상 재생기 문제 링크"prev" : 10초 전으로 이동재생 위치를 현재 위치에서 10초 전으로 이동현재 위치가 10초 미만인 경우 영상의 처음 위치로 이동영상의 처음 위치는 0분 0초"next" : 10초 후로 이동재생 위치를 현재 위치에서 10초 후로 이
1210 Ladder1 문제 링크사다리타기하여 당첨자를 찾는 문제당첨은 2를 뽑는 사람‘0’ : 평면‘1’ : 사다리'2' : 도착지점한 막대에서 출발한 가로선이 다른 막대를 가로질러서 연속하여 이어지는 경우는 없음첫째 줄 : 테스트 케이스의 번호둘째 줄 : 테스트 케
3273 두 수의 합 문제 링크n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있음1 ≤ ai ≤ 100,000자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 (ai, aj)쌍의 수를 구하는 프로
1211 Ladder2 문제 링크사다리타기에서 모든 경로 중 가장 짧은 경로를 구하는 문제최단거리로 도착하는 경로의 인덱스 구하기‘0’ : 평면‘1’ : 사다리한 막대에서 출발한 가로선이 다른 막대를 가로질러서 연속하여 이어지는 경우는 없음첫째 줄 : 테스트 케이스의
2178 미로 탐색 문제 링크첫째 줄 : N, M(2 ≤ N, M ≤ 100)둘째 줄 : 미로지나야 하는 최소의 칸 수를 출력성공!
2003 수들의 합 2 문제 링크N개의 수로 된 수열 A1, A2, …, AN 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 Ai + Ai+1 + … + Aj-1 + Aj가 M이 되는 경우의 수를 구하는 프로그램을 작성Ax는 30,000을 넘지 않는 자연수첫째
20922 겹치는 건 싫어 문제 링크반례지금 코드는 같은 숫자가 K만큼 나오면 마지막 인덱스 뒤부터 count하기 시작함반례를 살펴보면 같은 숫자가 K만큼 나오면 첫 인덱스 뒤부터 count해야 한다는 것을 알 수 있음for문으로 첫 인덱스를 구하도록 함이렇게 하면 O
28353 고양이 카페 문제 링크보니까 애초에 input 길이가 2가 안 넘는 경우 체크를 안 해줌
20125 쿠키의 신체 측정 문제 링크성공!
20310 타노스 문제 링크틀렸습니다 or 맞았습니다가 아니라 25점..?서브 태스크라는 게 있는데 부분 정답 처리인 것 같다추가 조건이 없는데 태스크2를 어떻게 맞추지..문제를 잘못 이해함무조건 사전순으로 재배열 하는 게 아니라위치를 고정한 상태에서 수를 하나씩 지우
문제 링크성공!문제 링크예외가 되는 부분이 은근 많았음..a+1>=10 ? ""+(a+1) : "0"+(a+1)뭐 쨌든 성공!문제 링크성공!문제 링크성공!했는데 이게 쉬운 방법이 있더라고..훨씬 낫죠..?
1780 종이의 개수 문제 링크후.. 진짜 힘겹게 성공..이건 지금 <큰 구역 검사하다가 아니면 쪼개서 검사> 이런 식으로 재귀를 사용한 거다른 사람의 풀이뭔가 굉장히 찝찝한 성공 같아서 다른 사람 풀이를 읽어봄결국 방식은 비슷한 거 같은데더러운 수식을 빼고 참,
12847 꿀 아르바이트 문제 링크answer = Math.max(answer, answer-arr\[start]+arr\[end]); 이거를max = max - arr\[start] + arr\[end]; answer = Math.max(answer, max); 이렇
2967 도영이가 만든 맛있는 음식 문제 링크모든 조합을 거쳐야 함이중 for문으로 배열을 돌렸는데, 이건 연속된 배열만 고려하게 됨재귀를 활용해서 모든 조합을 구하도록 해야함모든 조합을 도는 게 어려워서 블로그 참고함..참고 블로그tasteSel() 안에서 taste
2493 탑 문제 링크이렇게 하면 O(N^2)이라서 시간초과가 남이렇게 하면 O(N)인데.. 그래도 시간초과가 나네..결국 gpt한테 물어봄,,, 하,,,그냥 냅다 다 탐색하지 말고왼쪽 수가 오른쪽 수보다 작은 경우에는왼쪽 수가 수신을 받을 일이 없으니까 스택에서 삭제
문제 링크성공!문제 링크성공!문제 링크성공!문제 링크시간 초과날 줄 알고 효율적이게 풀려고 했는데그냥 냅다 하니까 됨..성공!
2343 기타 레슨 문제 링크문제를 읽어봤는데 어떻게 풀어야 겠다는 생각 자체가 안듦..그래서 블로그 풀이 보고 이해하는데 초점을 맞춤참고한 블로그이분 탐색 알고리즘 문제start, end : 최소 블루레이 크기가 될 수 있는 범위를 표시mid : start와 end의
11052 카드 구매하기 문제 링크재귀로 풀음모든 경우의 수를 다 계산해주는 방식당연히 시간초과남계산하는 경우의 수를 줄임처음에 가장 큰 수를 선택하여 그 수보다 작은 수만 고려근데 그래도 시간초과남도움을 받음,,,이전의 최대값을 dp로 저장함,,코드가 간단해져서 열받
11057 오르막 수 문제 링크3중 for문이지만.. 맞음..for문 2개가 9번도 안 돌아가는 for문이라 시간초과는 안 난듯규칙성을 찾아서 돌림첫 번째 경우의 수 배열을 구하면이후로는 해당 수의 전까지 나왔던 경우의 수를 다 더하는.. 방식..수댕 코드가 좋아보여서
15649 N과 M (1) 문제 링크빽트래킹은 뒤로 돌아가는 게 어려움..visited의 요소를 false로 돌려주는 타이밍 보는 게 좀 걸림..암튼 성공!코드가 더러워서 N과 M (2) 풀기가 힘듦..그래서 answer LinkedList 말고 배열로 바꿔줌
2740 행렬 곱셈 문제 링크배열 두개를 받아오는 부분 때문에 코드가 길어짐로직 자체는 그냥 행렬 곱셈을 하는 것 뿐이라,, 고려할 거 자체가 별로 없음..그냥 행렬 곱셈을 하는 방법의 수학적 공식만 알면 풀림성공!
1520 내리막 길 문제 링크dfs로 풀었더니 메모리 초과 남메모리 줄이려고 별 짓 다 했는데 안됨DP로 visited 넣으려고 했는데 경로가 꼬이면 이걸로 해결 안 될 것 같음bfs로 풀었더니 시간 초과 남DP를 무조건 써야 풀릴 듯 함DP를 활용해서 겹치는 경로는
1343 폴리오미노 문제 링크성공!근데 코드가 넘 더럽다..김주희 코드 보니까 replace로 풀면 되더라,,,,
17413 단어 뒤집기 2 문제 링크성공!근데 이것도 코드가..
프로그래머스 베스트앨범 문제 링크성공...제한사항이 많아서 여러 시도 끝에 복잡하게 해결함
2193 이친수 문제 링크문제를 풀 때, 특히 DP 문제에서 경계값을 테스트 해보는 습관을 가져야 될 듯해당 문제도 이전 코드에서 90을 넣었을 경우 -1581614984가 결과로 나옴int로 해결할 수 없는 문제라는 뜻정답!
12789 도키도키 간식드리미 문제 링크성공!반례를 스스로 찾는 연습을 해야되는데, 쉽지 않네..
프로그래머스 모음사전 문제 링크이건 거의 수학 문제 아닌가..각 자리가 바뀌는 경우 얼만큼의 변화가 있는 지를 계산해서 그대로 구현만 함
프로그래머스 타겟 넘버 문제 링크UI가 바뀌고 IDE를 안 쓰니까 쉬운 문제도 풀기가 어렵..프로그래머스 네트워크 문제 링크
11723 집합 문제 링크set으로 하면 될 줄 알았는데 시간 초과가 나네,,,수의 범위값이 1~20이라고 정해져 있었네,,그럼 크기 정해져 있는 배열로 하는 게 더 빠르지 당근,,중복 체크도 안 하니까 boolean으로 하면 좀 더 빠를 듯성공..!
1764 듣보잡 문제 링크내 눈엔 똑같아 보이는데배열보다 set에서 검색하는게 더 빠른가봐..
1620 나는야 포켓몬 마스터 이다솜 문제 링크해시 맵으로 하는 게 맞을 것 같은데..아마 value로 key를 찾는 과정이 문제일 것 같은데..당연히 메모리 초과 날 줄 알았는데..이게 되네..
11047 동전 0 문제 링크성공!
11399 ATM 문제 링크성공!
17219 비밀번호 찾기 문제 링크성공!
1003 피보나치 함수 문제 링크dp문제임성공!
1463 1로 만들기 문제 링크빽트래킹 문제인 줄 알았는데.. 아닌가..?아 좀만 더 생각하면 됐는데이전 꺼의 조합을 생각해본답시고 9->7+2 이러고 있었네..당연히 9->3\*3 으로 생각을 해야지..
1206 View 문제 링크1244 최대 상금 문제 링크완전 탐색으로 하면 시간초과가 날 것 같아서 계속 고민 했는데그것말고 방법이 없어보임..그래서 일단 했는데 역시나 시간초과dfs로 하되 N의 길이만큼 자리 교환을 하면 최댓값을 구하는 것과 같음그래서 C와 N의 길
1208 Flatten 문제 링크높낮이가 다 다른 계단을 그대로 배열로 만들면 답이 없을 것 같았음List에서 sort()는 중복 허용 정렬이라 이걸로 해도 될 거 같긴한데..그럼 값을 올리거나 내릴 때마다 sort()를 해줘야 해서 오래 걸림계단 크기를 위치값으로 넣
1234 비밀번호 문제 링크 #1 15분 성공! 초기화 조심! #1 15분
1217 거듭 제곱 문제 링크1225 암호생성기 문제 링크
1228 암호문1 문제 링크앞의 암호 10개 항만 출력하라는 글을 못 봐서 좀 걸림문제를 꼼꼼히 읽어야 되는데 시간을 생각하다보니 잘 안됨1229 암호문2 문제 링크위에 만들었던 코드에 delete 기능만 추가하는 거라 금방 함1230 암호문3 문제 링크이것도 이전 코
1221 GNS 문제 링크성공!HashMap으로 풀려고 했는데 HashMap은 Value를 연속적으로 변경해서 값을 저장하는 것에는 좋지 않음그냥 Key값으로 Value를 찾아내는 것에만 적합그래서 그냥 배열씀
1226 미로1 문제 링크BufferedWriter로 입력 받아서 풀려고 했는데 int N = br.nextLine(); 하니까 "" 입력되서 에러남애초에 입력값에 ""인 줄이 없는데 왤까,,?나중에 다시 시도해봐야지
1218 괄호 짝짓기 문제 링크괄호 개수만 체크 했는데 풀렸음(<)>, ()>< 같은 경우에는 1이 나와야 되는데 그거 고려 안 해도 그냥 통과됨.. 문제 의도는 그게 아니지 싶은데..(<)>, ()>< 고려해서 다시 짜기는 했는데 테스트 케이스가
이건 그냥 중위식을 후위식으로 바꾼 건데이거 생각보다 넘 어려움
5215 햄버거 다이어트 문제 링크빽트래킹 문제인 듯이것도 오랜만에 하니까 오래 걸렸네..level 체크를 이상하게 해서 그거 잡느라 오래 걸렸음2805 농작물 수확하기 문제 링크뭔가 별찍기 상위 문제같은 느낌?
1289 원재의 메모리 복구하기 문제 링크 #1 9분
2814 최장 경로 문제 링크문제 설명도 좀 부실하고 테스크 케이스도 부실해서 좀 힘들었음 23791 지명 선수 문제 링크이것도 문제는 쉬운데 문제 설명을 해석하는 게,,들어오는 배열의 수가 우선순위인 줄 알고 풀었는데알고보니 들어오는 배열의 수는 선수의 이름(위치)
12933 오리 문제 링크반례 찾기가 힘듦quackquuuuuuack가 반례findD 함수에서 now의 나머지를 조건으로 사용해서 q가 처음에 오면서 나머지가 없는 경우는 체크해 주는데 다른 문자가 처음에 오면서 나머지가 없는 경우는 아예 체크를 안 함힘겹게 풀음vis
2606 바이러스 문제 링크dfs 문제
1966 프린터 큐 문제 링크 #1
13305 주유소 문제 링크O(n)해당 노드까지 가장 적었던 기름값을 저장다음 노드로 이동하면서 이동 거리\*가장 적은 기름 값을 result에 더해줌답은 맞음. 근데 점수가 부족.점수 표가 있었네..도시까지의 거리는 1이상 1,000,000,000 이하의 자연수이다.
1221 GNS 문제 링크백트래킹으로 풀려고 시도해봤는데 시간초과남백크래킹이 시간초과면 이제 답이 없음.. DP임..방법을 알긴 했는데다음에 다시 시도해야지
9229 한빈이와 Spot Mart 문제 링크O(n^2)배열에서 두 개를 뽑을 수 있는 모든 경우의 수를 탐색해서 그 최댓값을 answer에 저장
3307 최장 증가 부분 수열 문제 링크dp로 풀이함 : O(n^2)완탐으로 하는 게 가장 기본적인? 풀이인 것 같은데완탐은 사실 시간복잡도가 너무 커서 dp로 풀이함근데 dp로 풀고 나니까 시간 복잡도가 완탐이랑 똑같음..binarysearch를 활용한 풀이 : O(
2805 나무 자르기 문제 링크 #1 배열 길이가 1인 경우를 생각해주지 않음 #2 런타임 에러..? Arrays.sort(arr);가 최악의 경우 o(n^2)이라..
5643 키 순서 문제 링크시간 초과가 날 것 같긴 했다..메모리랑 시간 둘 다 엄청 쓰고 있어서 통과가 무리일 것 같긴 했어..진짜 어디가 문제인지 모르겠어서 gpt 도움을 살짝 받음..처음에 HashSet 자료형을 쓰려다가 HashSet 자료형에서 요소 하나를 빼는
1249 보급로 문제 링크하.. 이렇게 하면 될 줄 알았는데i, j를 직접적으로 조작하면 안된대요..생각해보니 for문으로 i,j를 반복 돌릴 때마다 갱신 중인데 저 안에서 갱신한다고 제대로 작동할 리가 없는 것 같기도 하고..아직 반만 이해가 된 거 같긴 하다완탐에
17471 게리맨더링 문제 링크 #1 진짜 어림도 없음.. 이건 선거구가 무조건 하나로 엮여 있어야만 가능한 코드임 #2 음.. union-find로 분리 가능한 선거구의 최소 개수를 구해서 만약, 모든 노드가 이어져 있다면 결과 1 -> 위 코드대로 만약,
10800 컬러볼 문제 링크시간초과가 날 것 같긴 했는데.. 진짜 남..그래서 투 포인터 생각함Node\[] middle 이라는 배열 하나 만들어서 여기에 색을 index 값으로 해서 넣어놓고 갱신하는 방식으로 색이 같은 공의 사이즈 값을 결과에서 빼주는 방식 생각했는
2098 외판원 순회 문제 링크외판원 순회 : Traveling Salesman problem (TSP)조합 최적화(Combinatorial Optimization) 문제로 유명하다. 모든 도시를 정확히 한 번씩 방문한 뒤 처음 위치로 돌아오는 최단 경로를 찾는 알고리