전체 글

개발, PS 풀이
알고리즘/BOJ

[BOJ/python] 9328번 열쇠

https://www.acmicpc.net/problem/9328 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 문제 해석 외부와의 출입이 자유로운 빌딩에서 훔칠 수 있는 문서($)의 갯수를 출력하는 문제이다. 이때 소문자 알파벳은 열쇠이고, 대문자 알파벳은 문이다. 열쇠가 존재하면 해당 열쇠의 문을 열어 지나갈 수 있다. 코드 # BOJ 9328 # 로직 # 먼저 시작 외부와 연결된 곳 즉 시작 위치가 될 수 있는 지점들은 startDir에 저장 # 열쇠의 종류를 입력받고, ord를 사용해 key 배열에 열쇠의 유무를..

알고리즘/BOJ

[BOJ/python] 13460번 구슬 탈출 2

https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 문제 해석 중력을 이용해 상하좌우로 보드판을 기울여 빨간 구슬을 구멍에 10번 안에 넣는 경우를 구하는 문제이다. 이때 파란구슬이 먼저 구멍에 들어가거나, 동시에 들어가지 않고, 빨간 구슬만 구멍에 먼저 들어가야한다. 코드 # BOJ 13460 from collections import deque n, m = map(int,input().split..

알고리즘/BOJ

[BOJ/python] 2096번 내려가기

https://www.acmicpc.net/problem/2096 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 문제 해석 RGB 거리와 유사한 문제이다. 다음 줄로 내려갈 때에는 인접해 있어야만 내려갈 수 있다. 그림을 참고하면 좋다! 따라서 최종적으로 최대값과 최소값을 구하는 문제이다. 코드 # BOJ 2096 # input n = int(input()) a, b, c = map(int, input().split()) mx1, mx2, mx3 = a, b, c mi1, mi2, mi3 = a, b, c for i in..

알고리즘/BOJ

[BOJ/python] 1041번 주사위

https://www.acmicpc.net/problem/1041 1041번: 주사위 첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수 www.acmicpc.net 문제 해석 주사위를 n^3 크기의 정육면체로 만드는데 바닥을 제외한 5면의 최소값을 구하는 문제이다. 코드 # BOJ 1041 n = int(input()) dice = list(map(int, input().split())) a, b, c, d, e, f = dice[0], dice[1], dice[2], dice[3], dice[4], dice[5] # 한 면이 보일 때..

알고리즘/BOJ

[BOJ/python] 1149번 RGB거리

https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제 해석 처음 문제해석때 이해가 안가서 좀 애먹었다.. RGB를 사용한 하나의 색인줄 알았는데 R, G, B 중 하나를 골라 칠하는 것이다. 즉, 1번집이 빨강이면 2번집은 초록이나 파란색이여야 한다. 이를 반복하여 모든 집을 칠하는 최소 비용을 출력해야 한다. 코드 # BOJ 1194 # input n = int(input()) arr = [] for i in range(..

ddingmin00
ddingstory