728x90 TIL - 프로그래밍292 [프로그래머스] 외벽 점검 - Python https://school.programmers.co.kr/learn/courses/30/lessons/60062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ''' Chapter 12. 외벽 점검 접근법 1 취약 지점 최대 15, 친구 수 최대 8 -> 완전 탐색 투입할 친구 순서, 점검 시작 위치를 정하기 친구를 투입 시작 마지막 투입된 친구가 끝까지 확인 가능하면 멈추기 마지막까지 확인이 불가능하면 점검위치를 아직 확인 못한 취약 지점 중 가장 가까운 곳으로 바꾸고 반복 ''' from itertools import permutations def .. 2023. 4. 9. [프로그래머스] 기둥과 보 설치 - Python https://school.programmers.co.kr/learn/courses/30/lessons/60061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ''' Chapter 12. 기둥과 보 설치 build_frame의 경우 4가지 (기둥 설치, 보 설치, 기둥 삭제, 보 삭제) 접근법 1 기둥 - 설치, 삭제 보 - 설치, 삭제 나누어 진행 설치 : 설치 조건을 확인 후 True면 설치 삭제 : 삭제 후 연결된 기둥과 보를 확인 후 문제가 생기면 되돌리기 ''' def solution(n, build_frame): bow = [[0 for _ .. 2023. 4. 9. 이것이 취업을 위한 코딩 테스트다 CHAPTER 16 다이나믹 프로그래밍 문제 Q 31. 금광 ''' Chapter 16. 금광 접근법 1 금광 이동 경우 : 왼쪽 위, 왼쪽, 왼쪽 아래에서 오는 경우 3가지 경우 중 큰 값 선택하기 indexError을 위해 위 아래에 [0]*m 추가 ''' import sys input = sys.stdin.readline TC = int(input()) for _ in range(TC): n,m = map(int,input().split()) arr = list(map(int,input().split())) # 금광 n*m # 위 아래에 [0]*m 행 추가 arr = [[0]*m] + [arr[i:i+m] for i in range(0,n*m,m)] + [[0]*m] for c in range(1,m): for r in range(1,n+1).. 2023. 4. 9. 이것이 취업을 위한 코딩 테스트다 CHAPTER 14 정렬 문제 Q 23. 국영수 ''' Chapter 14. 국영수 접근법 1 국어 내림차순, 영어 오름차순, 수학 내림차순, 이름 오름차순으로 정렬 ''' import sys input = sys.stdin.readline # 도현이네 반의 학생 수 N = int(input()) # 학생 성적 student = [input().split() for _ in range(N)] # 국어 내림차순, 영어 오름차순, 수학 내림차순, 이름 오름차순 student.sort(key=lambda x:(-int(x[1]),int(x[2]),-int(x[3]),x[0])) for s in student: print(s[0]) Q 24. 안테나 ''' Chapter 14. 안테나 접근법 1 중간에 있는 집에 설치할 때 거리의 총 합이 .. 2023. 4. 9. 이것이 취업을 위한 코딩 테스트다 CHAPTER 13 DFS/BFS 문제 Q 15. 특정 거리의 도시 찾기 ''' Chapter 13. 특정 거리의 도시 찾기 접근법 1 최단 거리 구하는 문제 -> bfs 현 위치에서 갈 수 있는 도시를 다 방문 최단 거리보다 더 적은 거리로 방문했으면 방문 이어서 하기 최단 거리로 방문했으면 그 이상 방문은 최단거리보다 크기 때문에 그 도시에서 더 나아가지 않기 ''' from collections import deque import sys input = sys.stdin.readline # 도시의 개수, 도로의 개수, 거리정보(최단거리),출발도시번호 N,M,K,X = map(int,input().split()) # 도로 load = [[] for _ in range(N)] for _ in range(M): A,B = map(int,inpu.. 2023. 4. 9. [프로그래머스] 블록 이동하기 - Python https://school.programmers.co.kr/learn/courses/30/lessons/60063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ''' Chapter 13. 블록 이동하기 접근법 1 이동가능한 방법 12가지 1. 상하좌우 4가지 2. 가로로 되었을 때 아래쪽으로 회전 2가지, 위쪽으로 회전 2가지 3. 세로로 되었을 때 오른쪽으로 회전 2가지, 왼쪽으로 회전 2가지 경우 3가지로 나눠서 구현하기 로봇이 2칸을 차지하니 방문 표시를 visited = []로 하기 계속 시간초과가 나서 로봇의 위치를 list -> set ---.. 2023. 4. 9. 이전 1 ··· 6 7 8 9 10 11 12 ··· 49 다음 반응형