Programming/python 25

백준 : 9205(맥주 마시면서 걸어가기) [파이썬]

https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 1. 문제 설명 문제 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. 맥주 한 박스에는 맥주가 20개 들어있다. 목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다. 즉, 50미터를 가려면 그 직전에 맥주 한 병을 마셔야 한다. 상근이의 집에서 ..

Programming/python 2023.05.22

백준 15684 : 사다리 조작 [파이썬]

https://www.acmicpc.net/problem/15684 15684번: 사다리 조작 사다리 게임은 N개의 세로선과 M개의 가로선으로 이루어져 있다. 인접한 세로선 사이에는 가로선을 놓을 수 있는데, 각각의 세로선마다 가로선을 놓을 수 있는 위치의 개수는 H이고, 모든 세로선 www.acmicpc.net 1. 문제 설명 2. 문제 풀이 2차원 배열로 만들어 1. 백트래킹을 이용해 가로선을 만들고 2. 만든 가로선으로 i번 세로선의 결과가 i번이 나오는지 체크한다. 3. 코드 import sys def check(): # i번 세로선의 결과가 i번이 나오는지 체크 for i in range(n): temp = i # 이동하는 세로선 위치 for j in range(h): if graph[j][te..

Programming/python 2023.03.20

백준 12100 : 2048(Easy) [파이썬]

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 1. 문제 2048 게임은 4×4 크기의 보드에서 혼자 즐기는 재미있는 게임이다. 이 문제에서 다루는 2048 게임은 보드의 크기가 N×N 이다. 보드의 크기와 보드판의 블록 상태가 주어졌을 때, 최대 5번 이동해서 만들 수 있는 가장 큰 블록의 값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 ..

Programming/python 2023.03.13

SWEA 점심 식사시간 [파이썬]

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5-BEE6AK0DFAVl&categoryId=AV5-BEE6AK0DFAVl&categoryType=CODE&problemTitle=sw&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=2 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제설명 N*N 크기의 정사각형 모양의 방에 사람들이 앉아 있다. 점심을 먹기 위해 아래 층으로 내려가야 하는데, 밥을 빨리 먹기 위해 최대한..

Programming/python 2023.03.06

SWEA 원자 소멸 시뮬레이션 [파이썬]

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRFInKex8DFAUo&categoryId=AWXRFInKex8DFAUo&categoryType=CODE&problemTitle=sw&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 설명 [제약 사항] 1. 원자들의 수 N 은 1,000개 이하이다. (1≤N≤1,000) 2. 각 원자들의 보유 에너지 K 는 1 이상 ..

Programming/python 2023.03.04

백준 6087 : 레이저 통신 [파이썬]

https://www.acmicpc.net/problem/6087 6087번: 레이저 통신 크기가 1×1인 정사각형으로 나누어진 W×H 크기의 지도가 있다. 지도의 각 칸은 빈 칸이거나 벽이며, 두 칸은 'C'로 표시되어 있는 칸이다. 'C'로 표시되어 있는 두 칸을 레이저로 통신하기 위해서 www.acmicpc.net 1. 문제설명 문제에 풀이에 대한 감을 전혀 잡고 있지 못했다. 생각했던것들은 3가지 였다. 벽에 부딪힐 때까지 한방향으로 나아가기 O 방향이 바뀔 때 visited + 1처리 O 3차원 으로 해결 X 이 중에서 풀이에 대한 해결법은 2가지 정도만 해당 됐다. 이 문제를 푸는 법 C의 죄표를 찾아 리스트에 좌표값을 넣는다. (무조건 두개이고 무조건 한쪽에서 한쪽으로 연결된다.) 아무거나 ..

Programming/python 2023.02.25

백준 2206 : 벽 부수고 이동하기 [파이썬]

https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 1. 문제 설명 (0, 0) 에서 (n-1, m-1) 까지 이동할 수 있다면 거리를, 없다면 -1을 출력하는 문제인데 문제는 벽을 하나 부술 수 있다라는 것이였다. 1. 첫 시도 처음은 그냥 bfs를 시도한다. 그리고 벽을 하나씩 0으로 만들고 시도한후, 다시 1로 만든다. bfs를 시도할때마다 (n-1, m-1)를 리스트에 넣고 최댓값을 뽑는다. 최댓값이 0이라면 못가는..

Programming/python 2023.02.25

백준 2293 : 동전 1 [파이썬]

https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제설명 동적 계획법(Dynamic Programming, DP)은 최적화 문제를 해결하는 알고리즘으로서, 아래의 내용을 항상 명심해야 한다. '전체의 문제'를 '부분 문제'로 잘 나누었는가? 그렇다면 전체 문제를 해결하기 위한 부분 문제의 점화식은 무엇인가? 부분 문제들을 해결하며 얻는 결과값을 메모이제이션하는가? 부분 문제의 점화식은 부분 문제들 사이의 '관계'를 빠짐없이 고려하는가? 22..

Programming/python 2023.02.13

백준 2629 : 양팔저울[파이썬]

https://www.acmicpc.net/problem/2629 2629번: 양팔저울 첫째 줄에는 추의 개수가 자연수로 주어진다. 추의 개수는 30 이하이다. 둘째 줄에는 추의 무게들이 자연수로 가벼운 것부터 차례로 주어진다. 같은 무게의 추가 여러 개 있을 수도 있다. 추의 무 www.acmicpc.net 1. 문제 설명 양팔 저울을 이용해 주어진 추로 특정 무게를 만드는 문제이다. 추를 사횽해 무게를 만드는 방법은 3가지 이다. 추의 무게를 더한다. 추의 무게를 뺀다. 추를 사용하지 않는다. 위 3가지 규칙으로 만들 수 있는 모든 무게를 dp에 저장한다. 재귀를 사용해서 코드를 작성했다. 2. 코드 설명 n = int(input()) weight = list(map(int, input().split..

Programming/python 2023.02.13

백준 14503 : 로봇 청소기 [파이썬]

https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 1. 문제 설명 이 문제는 전형적인 시뮬레이션 문제이다. 문제에서 요구하는 내용을 오류 없이 성실하게 구현한다면 풀기 가능 사방 탐색을 위해 dr, dc 의 별도의 리스트를 만들어 방향 탐색을 통해 카운트를 세어 몇번 움직였는지 세면 된다. 2. 입, 출력 3. 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) r..

Programming/python 2023.02.09
728x90