목록SWEA (25)
어흥
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWSHOpR6f_sDFARw SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 Check[][][]를 초기화해준다 - M의 주기마다 생성되는 오작교는 최대 1번만 만든다 - 크기가 2 이상인 배열은 위의 오작교와 별도로 작성한다 2. 구현 - BFS를 통해 구현한다 - Check[][][]: Y,X,주기가 M인 오작교를 만든 경우: 1, 안만든 경우: 0 - 구조체(Y,X 좌표값, State: 방금전에 오작교를 지났다..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V1SYKAaUDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 바꿀 열을 정한다. 단, 바뀌는 열의 색이 모두 같다는 보장이 없다(최근에 TC가 추가되어 이 부분을 구현 안했다면 50번째에서 틀릴 것이다) 2. 구현 - 바꿀 열의 개수 I개를 정하고, 바꿀 열의 위치를 구한다. - 열의 위치를 정한 후, 해당 열을 어떤 색으로 바꿀지 DFS를 수행하며 Color 벡터에 저장한다. 이후, Change() 함수를 수행한다 - 바꾸는..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWJHmLraeEwDFAUH# SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 (모두 중요) - 이 문제는 구현보다는 배열을 어떻게 설정할 것인지 생각하는게 중요! - Arr[][],Numx[],Numy[]를 직접 만들어서 시행했는데, TC를 입력받기 전에 미리 1번 Make_arr()함수를 실행하여 생성해 놓는다 - 6각형 모양이라고 생각하고 (y,x)를 기준으로 6방향인 (y-1,x+1), (y,x+2), (y+1,x+1), (y+1,x-1)..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWbrg9uabZsDFAWQ SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 이미 합쳐진 블록은 합치지 않도록 한다 2. 구현 - Arr[][]와 Dup[][]함수를 이용한다 - Mv(dir) 함수를 통해 각 방향마다 다르게 설정한다 - Check[][] 함수를 이용하여 이미 합쳐진 블록의 경우 합치지 않도록 한다 - 만약 블록이 합쳐지는 경우, Cnt의 값을 변화시키지 않도록 한다 import java.io.BufferedReader; im..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWIseXoKEUcDFAWN SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 구매하는 옷이 3벌 미만인 경우 예외 처리를 해준다 2. 구현 - 입력받은 가격을 내림차순으로 정렬한다 - 앞에서부터 3개씩 묶고, 그 중 가장 낮은 가격은 제외한다 - 마지막에 3개로 안 묶어질 경우, 남은 옷의 가격을 모두 더한다 import java.io.BufferedReader; import java.io.InputStreamReader; import jav..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRUN9KfZ8DFAUo SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 회전의 수가 최대 3번이 아니다 - 회전시, 맨 뒤의 숫자가 맨 앞에 추가되는것 - 숫자가 커질 수 있으므로 Long으로 지정한다 2. 구현 - String으로 받은 후, Treeset에 대입하여 중복제거 + 오름차순 정렬로 되도록 설정한다 - Rot() 함수가 회전을 담당한다 - Treeset은 오름차순으로 정렬되어 있으므로, Set.size()-k의 위치에 있는 ..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4suNtaXFEDFAUf SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 해당 위치의 코어를 가장자리와 연결 하지 않는 경우도 있다 - 새로운 방법으로 더 많은 코어가 연결 가능하다면, 무조건 MaxConnect, Minlen을 갱신한다 - 매 TC마다 V벡터, MaxConnect, Minlen를 초기화한다 2. 구현 - 변두리에 위치하지 않은 코어를 V 벡터에 전부 넣는다 - 코어를 가장 자리와 연결할 수 있는지 확인하고, 가능하다면 A..
문제 링크: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWT-lPB6dHUDFAVT SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 조합, DP를 통한 풀이 방법이 있지만, DP(메모아이징)를 통해 해결한다 - 시작 전, DP[][]의 값을 전부 초기화한다 2. 구현 - DP[Idx][Remain] 배열을 통해 해당 Idx의 위치에서 Remain만큼 남은 칼로리가 있을 때, 얻을 수 있는 가장 큰 점수를 저장한다 - Knapsack 알고리즘을 통해 해당 'Idx의 위치에 있는 재료를 추가해서 얻을..