본문 바로가기

PS/프로그래머스27

[그리디] 프로그래머스 조이스틱 python 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/42860 2. 풀이 1) 'A'부터 올라가는 방향으로도 움직일 수 있고 'Z'에서 낮아지는 방향으로 움직일 수 있다. 2) 그 때 그때의 idx에 따라 왼쪽으로 가는 게 나을 수도 있고 오른쪽으로 가는 게 나을 수도 있다. 예: AZABAAAAAAAAAAAAAAAAAAXA 오른쪽으로 가서 Z B를 바꾸고 다시 왼쪽으로 와서 X를 고쳐야함. 파이썬 아스키코드: ord print(chr(65)) print(ord('A')) print(ord('d')) A #65를 chr로 만듦 65 #'A'를 숫자로 만듦 65~90 100 #'d'를 숫자로 만듦 97~122 삼항연산자: answer += le if le 2021. 6. 27.
[BFS] 프로그래머스 게임 맵 최단거리 python 1. 문제 https://programmers.co.kr/learn/courses/30/lessons/1844 코딩테스트 연습 - 게임 맵 최단거리 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,1],[0,0,0,0,1]] 11 [[1,0,1,1,1],[1,0,1,0,1],[1,0,1,1,1],[1,1,1,0,0],[0,0,0,0,1]] -1 programmers.co.kr 2. 풀이 전형적인 BFS map의 row col이 다를 수 있다는 점을 빼먹어서 틀렸다. 3. 구현 from collections import deque # deque import d = [[1,0], [-1, 0], [0,1], [0,-1]] def isValid(r,c, row, col): r.. 2021. 6. 18.
[분할정복]프로그래머스 [카카오 인턴] 수식 최대화 python 1. 문제 2. 풀이 분할 정복 분할정복은 dfs처럼 그 아래가 완성될 때, 라는 가정을 하고 푼다. return을 잘 생각해야한다. 3. 구현 NameError: name 'ops' is not defined ops를 함수 인자로 안보내줘서 난 에러 TypeError: unsupported operand type(s) for -: 'str' and 'int' string 형태를 - 연산하려고 해서 난 에러, str을 cal로 보내 int형으로 바꾼 후 - 연산을 하도록 바꿨다. def plus(ops,s): li = s.split('+') res = 0 for item in li: res=res + int(cal(ops, item)) # print("plus: ", res) return res def .. 2021. 6. 17.
프로그래머스 예상대진표 python: Queue 1. 문제 2. 풀이 3. 구현 def solution(n,a,b): answer = 0 q = deque([i for i in range(1,n+1)]) while(a!=b): a = (a+1)//2 b = (b+1)//2 answer+=1 return answer 예시 테스트케이스만 맞고 나머지는 틀린다. from collections import deque def solution(n,a,b): answer = 0 q = deque([i for i in range(1,n+1)]) while(q): x = q.popleft() y = q.popleft() if [x,y] == [a,b] or [x,y] == [b,a]: answer+=1 break if a in [x, y]: # list를 쓰면 한 줄.. 2021. 6. 16.
반응형