구현

🧩 Problem Solving/[백준]

[백준] 2563 색종이 (python 파이썬)

2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 2차원 리스트를 활용한 간단한 문제. 아이디어 언뜻 보기에 귀찮은 문제라고 느껴질 수 있다. 근데 문제에서 제공된 범위가 100 100이라는 매우 작은 범위이다. 이런 경우는 모든 좌표를 2차윈 리스트로 간단하게 해결 가능하다. 먼저 100 * 100 의 이차원 리스트에서 값을 전부 False로 선언해 준다. 그리고 각 색종이가 있는 영역의 좌표들을 True로 바꿔주고 마지막으로 True의 개수를 세어서 출력해주면 된다. 전체 코드 N = int(input()) paper..

🧩 Problem Solving/[백준]

[백준] 16918 봄버맨 (python 파이썬)

16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net BFS느낌의 구현 문제 아이디어 폭탄을 추가하고 터트리는 과정에서 큐를 사용하면 편할 거 같아 deque를 사용했다. 1초마다 어떻게 격자판의 변하는지 생각하며 코드를 작성했다. 전체 코드 from collections import deque dx = [0, 0, -1, 1] dy = [1, -1, 0, 0] grid = [] # 격자판 boomList = deque() # 폭탄 좌표 리스트 R, C, N = map(int, input().split()) for i in range..

🧩 Problem Solving/[백준]

[백준] 1205 등수 구하기 (python 파이썬)

1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 조건의 맞춰 문제를 해결하는 문제. 변수 N, P의 조건이 0

🧩 Problem Solving/[백준]

[백준] 28298 더 흔한 타일 색칠 문제 (python 파이썬)

https://www.acmicpc.net/problem/28298 28298번: 더 흔한 타일 색칠 문제 첫째 줄에 세 정수 $N$, $M$, $K$가 공백으로 구분되어 주어진다. $(1\le N,M,K\le 500;$ $N,M$은 $K$의 배수이다$)$ 다음 $N$개의 줄에는 타일의 $i$행 색상 배치를 의미하는 길이 $M$의 문자열 $d_i$가 주어진다. www.acmicpc.net 시간 초과가 생긴 문제. 이번엔 입력값 제한을 보고 시간에 맞게 로직을 짰다고 생각했는데 시간초과가 발생했다. 로직을 조금 수정하니까 통과했다. 왜 그런지 생각해 보니 원인을 찾을 수 있었다. 중간에 리스트에서 개수가 가장 많은 요소를 출력하는 메서드가 필요했다. 많은 방법이 있지만 나는 코드를 간결하게 작성하고 싶어 ..

🧩 Problem Solving/[백준]

[백준] 12100 2048(easy) (python 파이썬)

https://www.acmicpc.net/problem/12100 12100번: 2048 (Easy) 첫째 줄에 보드의 크기 N (1 ≤ N ≤ 20)이 주어진다. 둘째 줄부터 N개의 줄에는 게임판의 초기 상태가 주어진다. 0은 빈 칸을 나타내며, 이외의 값은 모두 블록을 나타낸다. 블록에 쓰여 있는 수는 2 www.acmicpc.net 아이디어 1. 구현이 먼저 문제를 보고 N최대가 20이고 이동도 5번 하므로 문제가 말한 그대로 구현하면 되겠다고 생각. 상, 하, 좌, 우 이동 중에 '좌'로 이동하는 것부터 구현하면 나머지도 쉽게 만들 수 있다. 만들수록 변수나 if문이 많아져 다시 밀고 처음부터 작성했다. 너무 많은 변수는 필요 없다. 이건 다른 구현 문제도 마찬가지라고 생각. '이동시킬 블록'과..

🧩 Problem Solving/[백준]

[백준] 14499 주사위 굴리기(python 파이썬)

https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 풀이 과정 가장 중요한 포인트는 주사위 6면의 정보 저장방법이다. 구조체나 클래스를 생각했지만 그냥 리스트로 해도 될거같아서 6크기의 리스트 선언하여 해결함. 이동은 간단한 함수 4개를 만들어서 주사위 리스트의 값들을 교환 시켰다. temp 임시 변수를 하나 선언해서 쉽게 교환 가능. import sys input = sys.std..

제봉아
'구현' 태그의 글 목록