본문 바로가기

전체 글

(88)
swea 1868 <파핑파핑 지뢰찾기 > swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LwsHaD1MDFAXc&categoryId=AV5LwsHaD1MDFAXc&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이 문제는 DFS 또는 BFS 문제의 심화 문제이다. 이문제에서 알아야 할 것은 어디를 먼저 클릭해야 더욱 많이 퍼지는 가이다. 이것을 알아보기 위해서 이 그림을 보자 이 모양을 보면 알 수 있듯이 지뢰가 8방향으로 없는 곳을 먼저 터트리게 되면 계속해져 퍼질 수 있다. 문제 풀이 클릭할 수 있는 위치를 모두 Queue 에 넣는다...
swea 5643 <[Professional] 키 순서> swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXQsLWKd5cDFAUo&categoryId=AWXQsLWKd5cDFAUo&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이문제는 DFS, BFS를 하는 심화과정의 문제이다. 신선한 문제이므로 한번 풀어보는 것을 추천한다. 이문제를 푸는 방법은 2가지가 있다. 이 문제의 핵심은 자기보다 작은 것이 몇 개인지, 그리고 자신보다 큰 것들이 몇 개 있는지를 판단하는 문제이다. 첫번째 방법 자신보다 큰 인원들을 담는 ArrayList와 자신보다 작은 인원을 ..
백준 10800 <컬러볼> 이 문제는 각각 모든 수를 탐색한다고 하면 200000*200000=N^2 이므로 시간 초과가 난다. 이 문제는 가장 작은수또는 가장 큰 수부터 시작해서 자신의 색을 제외하고 나머지의 합을 구하는 그런 문제이다. 즉 그러기 위해서는 누적합이라는 것을 이용해야한다. 문제 풀이 각각의 색마다 총합을 저장한다 --> 배열에 저장 자신의 번호와 색, 크기를 담은 배열을 크기순으로 정렬한다. 뒤에서부터 자신의 색을 제외한 다른 합의 값을 자신의 번호에 저장한다. 이때 주의할 점은 같은 무게를 따로 처리해야 한다는 것이다. 이렇게 다음을 계산할 준비를 한다. 3번 과정에서 이렇게 흐름으로 흘러가게 된다. 이때 조심해야 할 것은 다음 꺼낼 것도 크기가 같은 경우가 있기 때문에 Queue에 같은 무게들을 넣어서 처리를..