본문 바로가기

CodingTest/Baekjun Online Judge

(111)
[ BOJ / 파이썬 ] 7576 토마토 BFS & 시작점이 여러 개인 경우 deque를 사용하고, 각 토마토에 해당 날짜를 붙여서 같이 묶어줬다. 1차 제출 . 통과 import sys input = sys.stdin.readline from collections import deque def is_all_ripped(board): for i in range(len(board)): for j in range(len(board[0])): if board[i][j] == 0: return False return True def main(): m, n = map(int, input().split()) board = [] tomato = deque([]) for i in range(n): row = list(map(int, input().split(..
[ BOJ / 파이썬 ] 2178.미로 탐색 BFS BFS문제 중 거리 측정 유형이다. BFS문제의 가장 전형적인 유형이기도 하고, 개인적으로 주구장창 풀었던 스타일이라 술술 써내려갔다. 문제 ( 링크 ) 기본적인 BFS는 방문 여부를 담을 배열을 따로 두지만, 해당 문제에서 밟아야할 공간이 1이므로 1 이상인 경우는 방문했다고 여기며 그 자리에 현재까지의 최단거리를 바로 대체해 넣는 방식으로 코드를 작성했다. 제출 1. 통과 import sys input = sys.stdin.readline from collections import deque def main(): n, m = map(int, input().split()) board = [list(map(int, list(input().strip()))) for _ in range(n)] dx ..
[ BOJ / 파이썬 ] 1926. 그림 과거에 풀었던 문제. ( 링크 ) 6개월만에 푸니 확실히 속도나 이해도가 좋긴 하다. 제출 1. 통과 import sys input = sys.stdin.readline from collections import deque dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def getArea(a, b, board): area = 1 q = deque([(a, b)]) board[a][b] = 2 n = len(board) m = len(board[0]) while q: x, y = deque.popleft(q) for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
[ BOJ / 파이썬 ] 4949.균형잡힌 세상 1차 풀이 . 실패 import sys input = sys.stdin.readline def checkIsCorrect(text): stack = [] pair = {']':'[', ')':'(' } for t in text: if t == '[' or t =='(': stack.append(t) if t == ']' or t == ')': if not stack: return False if stack and stack[-1] != pair[t]: return False if stack and stack[-1] == pair[t]: stack.pop() if stack: return False else: return True def main(): text = '' while text != '.': t..
[ BOJ / 파이썬 ] 10828 스택 간만에 푸니까 파이썬 입출력 시간초과 제한에 대해서 까먹었다. 풀이는 맞았는데 시간초과가 나서 혹시나 했더니 역시나였다. import sys input = sys.stdin.readline def main(): n = int(input()) stack = [] for _ in range(n): oper = input().strip() #push X: 정수 X를 스택에 넣는 연산이다. if len(oper) > 3 and oper[:4] == 'push': oper, x = oper.split(' ') x = int(x) stack.append(x) #pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다. if oper == 'pop..
[ 백준 ] 1406 에디터 보호되어 있는 글입니다.
[ BOJ / 파이썬 ] 23290 마법사 첫 40분 풀이 실패.. 인 듯.. 애초에 능력도 안 되면서 시간 제한을 너무 빡빡하게 잡았나..? ㅋㅋㅋ 우선 집중이 잘 안 돼서 문제 정리하는 데 오래 걸렸다.. 시험 잡히자마자 계속 이 상태다.. 긴장과 불안 때문에 문제가 안 읽혀.. 😥 멘탈의 문제라기보다는 실력의 문제인 것 같기는 하다.. 경험치 부족.. 아 한 달만 있다가 시험 보면 좋겠다 ㅋㅋㅋ 하여간 좌표 안에 데이터로 방향 정보를 거의 사용 안 하고 만들어나가다가 3번 조건 사전 순 변환 설명 보고 얼씨구..? 이것봐라? 내 풀이는 다른 방향인데..? 하고 멈춰버렸다. 한 번 망했을 때 다시 부딪힐 용기!!가 필요한데 최근에 풀이 찾아보는게 습관이 되어서 그런가 너무 하기 싫다. 진짜 요즘 근성제로.. 혹은 마이너스 ^^ ... 돌아왕~..
[ BOJ / 파이썬 ] 14503 로봇 청소기 나는 ! 아무래도 bfs문제가 좋다 ! ㅋㅋㅋ 재밌어.. ㅎ.ㅎ.. 그런 것치고 정답을 한 큐에 못 내는게 약간 속상할 따름.. 해당 문제를 q를 비우는 식으로 진행했더니 후진 문제를 해결하지 못 했다. https://11-20.tistory.com/2 BOJ 14503 로봇 청소기 정말 힘들게 구현했네요 이 망할 로봇청소기 ㅠㅠ 여러 번의 문제를 잘못 이해해서 있는 코드를 살짝 살짝 수정한 결과 굉장히 난잡한 코드가 됐습니다. 혹시나마 저 같은 사람이 있다면 조금이 11-20.tistory.com 이 분과 같은 문제 발생.. # q를 통해서 문제를 운영해서 후진 부분에서 에러가 남 import sys input = sys.stdin.readline from collections import deque ..
[ BOJ / 파이썬 ] 14500 테트로미노 못 풀어냈다.. 아니 어떻게.. 매번 이렇게 유형이 전혀 다른 문제가 나오냐... ㅠㅜ 풀이 찾아서 보고서야 이해한 것 같다. 빡구현 방법이 확실히 이해가 빠르고.. 내가 선택할 것 같은 방향 ㅠㅜㅠㅜ https://jeongchul.tistory.com/670 백준 삼성 코딩 기출 문제 - 테트로미노 python 백준 삼성 코딩 기출 문제 - 테트로미노 python 출처 : BAEKJOON ONLINE JUDGE 2048 (Easy) (https://www.acmicpc.net/problem/14500) 문제 설명 문제는 흔히 우리가 알고 있는 테트리스의 모양을 이용해서 주어진.. jeongchul.tistory.com 이게 내가 하고자 했던 백트래킹 방법인데.. 떠올리기 힘들어보인다. https://..
[ BOJ / 파이썬 ] 3190 뱀 2022.10.08 아.. 이게 안 되네..? 내일은 시뮬레이션 열심히 좀 몰아서 풀어봐야겠다. # 구현 완성 못 한 상태! # 방향 이동에서 8가지 경우의 수가 나오는데 일일이 구해줘야하나.. # 효율적으로 하고싶은데.. 싶어서 고민된다. # 실전 테스트에서는 막무가내로 뭐라도 해야하니까 일단 8개 다 했을 것 같긴한데 # 연습이니까 분명 더 나은 방법이 있을 것 같아서 더 고민하고 싶다 ㅠㅠㅜㅠㅜ import sys input = sys.stdin.readline n = int(input()) board = [[0] * n for _ in range(n)] snake=[] k = int(input()) for i in range(k): x, y = map(int, input().split()) boa..