본문 바로가기

SWEA/D5

(5)
[SWEA] 1249. 보급로 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 * 다익스트라 알고리즘으로 최단 경로를 구한다. * 이 문제의 경우 "최단 경로"가 답이 되는 TC도 있지만, 조금 돌아가더라도 "복구 시간"이 가장 짧은 것을 정답으로 한다. * 그렇기 때문에 방문 표시를 단순히 좌표로 하면 안된다. (조금 돌아갔을 때 복구 시간이 더 짧을 수도 있는데, 이미 방문 표시가 되어있어서 못 가는 경우가 있다) * 방문을 표시하는 visited 는 3차원으로 설정..
[SWEA] 4613. 러시아 국기 같은 깃발 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWQl9TIK8qoDFAXj&categoryId=AWQl9TIK8qoDFAXj&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 * 조합을 사용해서 백트래킹을 하며 모든 경우를 다 해본다. * 첫 행과 마지막 행은 흰색 / 빨간색으로 고정된다. 2행부터 n-1 행까지의 조합을 구한다. * 조합을 구할 때 파란색이 반드시 포함되어야 한다. * W = 1 B = 2 R = 3 으로 치환을 했다. 색을 칠 할 때 이전의 행에 칠해진 색과 ..
[SWEA] 1824. 혁진이의 프로그램 검증 문제 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV4yLUiKDUoDFAUx&categoryId=AV4yLUiKDUoDFAUx&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 * dfs를 이용해서 탐색을 진행한다. * @를 만나면 flag 를 True로 만들고 탐색을 종료한다. * 갔던 곳을 또 가지 않도록 방문 표시를 한다. 하지만, 프로그램 상 메모리에 있는 값에 따라 다른 처리를 하는 연산이 있기 때문에 visited 배열에 방문했던 당시의 메모리값(buf)을 저장하고, ?..
[SWEA 7393][D4][JAVA] 대규의 팬덤활동 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWm8gU7KljcDFASj&categoryId=AWm8gU7KljcDFASj&categoryType=CODE SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 비트마스크를 공부하고 싶었는데 마침 발견한 문제입니다. 비트 연산자는 정처기 전자계산기때 보고 무의식적으로 피하는 연산자인 것 같아요 하지만 이 문제에서는 비슷한 문제인'것' 같았던 쉬운 계단수( https://www.acmicpc.net/problem/10844) 10844번: 쉬운 계단..
[SWEA 4411][D5][JAVA] 덕환이의 카드 뽑기 [문제] https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcL9nKpbEDFAV8 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! www.swexpertacademy.com [풀이방법] 처음에는 덱으로 해서 K만큼의 숫자를 뒤로 넘겨주고 맨 앞의 원소를 지워주는 과정을 반복해서 값을 구하려고 했는데 마지막 예시 100000 10000000000 여기에서 시간이 너무 오래 걸려서 불가능했습니다. 그래서 찾아보니 요세푸스 점화식을 사용해서 해결할 수 있었어요 요세푸스 점화식 / N명의 사람 중 K번째의 사람이 자결하는데 마지막까지 살아남는 사람을 구하는 점..