분류 전체보기120 [SWEA] 2112. 보호필름(Python) / DFS swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5V1SYKAaUDFAWu SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com # 1시간 1분 소요 많이 풀어본 유형이라 큰 고민 없이 풀어낸 문제다. 사용 알고리즘 : DFS 조합 우선, 약품을 투입하지 않고도 성능검사를 통과하는 경우에는 0을 출력한다. 고 했으니, 성능검사 함수를 만들어줬다.(testPerformance()) 동일한 특성의 셀들이 K개 이상 연속으로 있는 경우에만 성능검사 통과 한 열의 동일 셀이 K 미만이면 즉시 False 리턴 이중 포문 통과하면 True 리턴하여 .. 2021. 3. 28. [BOJ] 1038. 감소하는 수(Python) / DFS 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 사용 알고리즘 : DFS 10보다 작은 수에 대해서는 input값 그대로 출력 depth를 최대 1.. 2021. 3. 26. [BOJ] 1261. 알고스팟(Python) / BFS www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 이 문제는 어제 풀었던 미로만들기 문제 2021.03.25 - [Problem Solving/boj] - [BOJ] 2665. 미로만들기(Python) / BFS와 완전 같은 문제이다. 어제 풀었던 덕인지 30분 정도 소요했다. 사용 알고리즘 : BFS check 배열을 주어진 맵의 크기와 같게 만들고, 최댓값으로 초기화했다. 빈 공간일 때와 벽을 만났을 때 모두 이동 위치에 있는 값을 최.. 2021. 3. 26. [PS] 알고리즘 문제 해결의 과정 알고리즘 코딩 공부를 하다보면 여러 블로그들을 보게 된다. 예전에 수기로 기록한 거라 어디 블로그인지는 모르겠지만, 내게는 자꾸 상기시키면 좋을 내용이라 남기려 한다. ★ 문제 해결의 과정 ★ 문제를 정확하게 이해한다. 문제를 해결하는 알고리즘을 개발한다. 알고리즘이 문제를 해결한다는 것을 증명한다. 알고리즘이 제한시간 내에 동작한다는 것을 보인다. 알고리즘을 코드로 작성한다. 제출 후 만점을 받고 기뻐한다. 문제가 안 풀릴 때마다 기본에 충실하지 못하여 자꾸 앞 단계를 반복하는 일이 생긴다. 1단계도 되지 않은 채로 자꾸 5단계로 넘어가는 것이 가장 큰 문제다. 가장 중요한 1단계가 되었다면 2, 3, 4단계에 가장 많은 시간을 투자해야 한다. 2, 3, 4 단계에 많은 시간을 할애해 한번에 100점 .. 2021. 3. 26. [BOJ] 1405. 미친 로봇(Python) / DFS www.acmicpc.net/problem/1405 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 생각보다 시간이 좀 걸렸다.. 문제 이해하는데 난독증이 심해 한참 걸렸다ㅠㅠ 문제만 잘 이해하고 나니 어렵지 않게 바로 술술 풀렸던 문제다. 사용 알고리즘 : DFS 인풋 받으면서 사용하기 편하도록 동서남북 방향별 percentage는 100으로 각각 나누어 리스트로 저장했다. 미리 한 방향으로만 갔을 때 상하좌우에 대해 최대 N만큼 갈 수 있으므로 현 위치를 중간으로 봤을 때 현 위치 포함해 N*2 + 1.. 2021. 3. 26. [BOJ] 9019. DSLR(Python) / BFS www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 처음에는 DFS로 접근했다가 그렇게 해서는 답도 없을 것 같아서 BFS를 떠올렸는데, 결국 혼자 힘으로 못 풀고 다른 사람의 풀이를 봤다ㅠㅠ 사용 알고리즘 : BFS(최단거리 알고리즘) 여러 설명보다 아래 코드를 보면 이해할 수 있을 것이다. 4자리 숫자이므로 일차원 배열 visited를 10000 크기로 만든다. while문을 돌 때마다 현재 temp에 D, S, L, R 연산을 해주며 큐에 (연.. 2021. 3. 25. 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음