CodingTest (238) 썸네일형 리스트형 [ 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.. [ BOJ / 파이썬 ] 2667 단지 번호 붙이기 - 30분 소요 - 와 .. ㅠㅜ 실수해서 10분을 날려먹었다.. bfs처음 시작하면서 q에 첫 원소 넣을 때 해당 원소를 방문처리하는 걸 놓쳤다. - 덕분에 이중 방문해서 예상 값보다 1씩 더 나오는 에러 잡느라 시간 걸렸다. - 문제 자체는 단순한 bfs적용, 2583 영역 구하기랑 같은 맥락의 문제였다. - python list unpaking operator쓰는 법 까먹어서 검색해서 찾아옴.. import sys input = sys.stdin.readline from collections import deque n = int(input()) board = [list(map(int, list(input().strip()))) for _ in range(n)] visited = [[False]*n .. [ BOJ / 파이썬 ] 2583 영역 구하기 누가봐도 bfs문제! ㅡ [1] 상자를 칠한다. (2중 for문으로 칠해주기) : 1에서 전에 배운 누적합을 사용해볼까 헀는데 옹? input 최대값이 100밖에 안되길래 그냥 2중for문으로 칠했다. 대신 이미 칠해진 부분은 패스하도록 설정 [2] 안 칠해진 영역의 개수와 넓이를 구한다.(bfs 이용) 이 부분은 전형적인 bfs문제! ㅡ : 사실 상자가 뒤집혀 있는데 영역 개수와 넓이 구하는 거라 뒤집힌 채로 그냥 구해도 괜찮을 것 같아 고대로 받아서 계산했다. : 근데 이렇게 하니까 좌표값이 개인적으로 자꾸 헷갈렸다. 그래서 디버깅하느라 시간이 조금 소요되어서 아쉽다. : 공간감각이 떨어져서 좌표에서 꼬이면 멘탈 나가는 것 같은데.. 흠.. 조심하자! import sys input = sys.stdi.. [ BOJ /파이썬 ] 11660 구간 합 모두가 처음 접하면 같은 과정을 거치는 듯한 문제인 것 같다. 2중 for문으로 생각했다가 아무리 생각해도 시간 초과인데.. 싶으면서 일단 해보고 역시나 시간초과가 나서 풀이를 찾아보는..? '누적 합' 구현 방식을 이해하고 나면 또 금새 해결된다. 내가 약한 dp풀이가 섞여들어가서 나는 단번에 이해가 된 건 아니었는데 아래 링크 보고 확실히 이해할 수 있었다. https://bmy1320.tistory.com/entry/%EB%B0%B1%EC%A4%80-Silver1-%EB%AC%B8%EC%A0%9C-%EB%B0%B1%EC%A4%80-%ED%8C%8C%EC%9D%B4%EC%8D%AC-11660-%EA%B5%AC%EA%B0%84-%ED%95%A9 백준/ Silver1 문제 , 백준 파이썬 11660 , .. [ BOJ / 파이썬 ] 13335 트럭을 지나는 트럭 뭔가 익숙하다 싶었는데 역시나 프로그래머스에서 풀었던 문제였다. https://proprotrainee.tistory.com/42 [ 프로그래머스 ] 다리를 지나는 트럭 / 코드 1 / def solution(bridge_length, weight, truck_weights): q=[0]*bridge_length sec=0 while q: sec+=1 q.pop(0) if truck_weights: if sum(q)+truck_weights[0] 애초에 bridge큐의 각 값을 0으로 설정한 이유는 무게가 없이 공간을 차지하기 위해서! -> 매 시간단위마다 bridge 맨 앞의 값은 사라진다. 그래서 해당 프로세스에서 조건에 맞지 않는 경우 0을 넣으면 이동한 것처럼 구현되는 것! . 5. 하나 더 놓치.. [ BOJ / 파이썬 ] 14499 주사위 굴리기 확실히 프론트 관련 프로그래밍을 하니까 시뮬레이션 문제가 잘 풀리는 것 같다. 동작 단위로 나눠보는 프로세스를 그래도 계속 거쳤기 때문이지 않을까 싶었다. 해당 문제에서는 자료 저장 파트와 동작 파트가 타 문제에 비해 더 쉽게 구분된다. -자료 저장 파트 1. 맵의 상태 2. 주사위 상태 -동작 파트 주사위 굴리기 : 주사위 상태 변화 : 굴리기 이전 동작: 세부적으로 넘어가면, 굴렸을 때 맵 범위를 벗어나는 지 체크 : 굴리고 그 이후 동작: 추가 구현-> 숫자 복사하기 ( 맵 주사위 ) 1. 맵 상태, 주사위 상태는 배열로 저장. 범위가 짧아서 별 생각 없이 리스트 사용. 2. 주사위 굴리기 이전 동작은 평소 하던대로 dx, dy배열 잡고 nx,ny = x+dx[i], y+dy[i]이런 식으로 nx,.. [ BOJ / 파이썬 ] 15665 N과M(11) | 제출 1 | import sys input = sys.stdin.readline N, M = map(int, input().split()) nums = sorted(list(map(int, input().split()))) keep = [] visit = [0]*N result = set() def recur(x): if x == M: result.add(tuple(keep)) return for i in range(N): visit[i] = 1 keep.append(nums[i]) recur(x + 1) visit[i] = 0 keep.pop() recur(0) for res in sorted(list(result)): print(*res) : N과M(10)응용 문제정도이다. : 정말 단순하게 백트.. [ BOJ / 파이썬 ] 15664 N과M(10) | 제출 1 | import sys input = sys.stdin.readline N, M = map(int, input().split()) nums = sorted(list(map(int, input().split()))) keep = [] visit = [0]*N result = set() def recur(x): if x == M: result.add(tuple(keep)) return for i in range(N): if not visit[i]: if not keep or keep[-1] 이전 1 ··· 8 9 10 11 12 13 14 ··· 24 다음