코딩테스트 15

[Python/프로그래머스] 등굣길_DP

https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr 문제 설명 : 왼쪽 그림과 같이 진행된다. (1,1)에서 시작하여 우측, 아래로 이동한다. 경로의 개수를 반환하는 것으로 왼쪽과 위의 합을 새로운 값으로 지정한다. 중간에 웅덩이는 무시하고 넘어간다. 도착 위치의 값을 반환하면 된다. 코드 : def solution(m, n, puddles): answer = 0 # puddle 이 (m,n)으로 주어..

[Python/프로그래머스]카펫_완전탐색

https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr (가로 - 2) * (세로 - 2) = yellow 라는 것을 그림을 그려서 생각해보면 알 수 있다. 코드 : def solution(brown, yellow): s = brown + yellow for i in range(s,2,-1) : # s에서 2 이전까지 -1씩 감소시키며 i를 구한다. if s%i == 0: # i 가 가로일 수 있다. a = s ..

[Python/프로그래머스]완주하지 못한 선수 _해시

https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 백준에도 동일한 문제가 있을것이다. 풀었던 기억이 있다. 근데 이번에는 못풀었다... 코드 : from collections import Counter def solution(participant, completion): answer=Counter(participant) - Counter(completion) return list(answer..

[Python/프로그래머스]입국심사 _이분탐색

https://programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 1. left와 right 값 정의 2. left와 right을 적절히 자르고 최적의 mid값을 찾도록 코드를 만든다. 코드 : def solution(n, times): answer = 0 left, right = 1, max(times) * n # right은 가장 오래걸리는 심사관에게 모두 받을 경우의 시간 while left = n : # 이미 해야할 사람..

[6]알고리즘스터디 - 섹션6_3주차 스터디

파이썬 알고리즘 문제풀이 스터디 - 알까기 _ 섹션 6 티스토리 마크다운이 이상해서 깃허브 주소도 올린다. https://github.com/dumi33/TIL_TodayILearn/blob/main/220223/%EC%84%B9%EC%85%986.md 문제 1 - 재귀함수를 이용한 이진수 출력 def dfs(x) : if x >0: tmp = x//2 dfs(tmp) print(x%2,end = '') if __name__ == "__main__" : n = int(input()) dfs(n) def dfs(x) : if x == 0 : return else : dfs(x//2) print(x%2,end = '') if __name__ == "__main__" : n = int(input()) dfs(..