Python/Programmers 20

[프로그래머스/Python] Lv 2. 게임 맵 최단거리

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 # BFS 알고리즘 : 너비 우선 탐색 # 가까운 노드부터 탐색 from collections import deque def solution(maps): answer = 0 # 좌, 우, 하, 상 dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] r = len(maps) # 행 c = len(maps[0]) # 열 # 좌표 방문 최단거리 graph = ..

Python/Programmers 2023.04.18

[프로그래머스/Python] Lv 1. 체육복

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(n, lost, reserve): answer = 0 # 여벌옷 없는 lost real_lost = set(lost) - set(reserve) # 도난당하지 않은 reserve real_reserve = set(reserve) - set(lost) for r in real_reserve: if r-1 in real_lost: # 앞 real_l..

Python/Programmers 2023.04.17

[프로그래머스/Python] Lv 1. 신규 아이디 추천

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72410 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr # 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. # 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. # 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. # 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. # 5단계 ne..

Python/Programmers 2023.04.17

[프로그래머스/Python] Lv 2. 오픈채팅방

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 ❌ 런타임 에러 # 테스트케이스 통과, 런타임 에러 def solution(record): answer = [] command = [] members = {} for r in record: temp = list(r.split()) if temp[0] == "Leave": command.append((temp[0], temp[1])) del members[temp[1]]..

Python/Programmers 2023.04.17

[프로그래머스/Python] Lv 2. [3차] 압축

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 from string import ascii_uppercase def solution(msg): answer = [] alpha = list(ascii_uppercase) i = 0 check = "" # 사전에 넣을 문자열 while i < len(msg): check += msg[i] # 문자열이 사전에 있는 경우 if check in alpha: i += 1 # ..

Python/Programmers 2023.04.16

[프로그래머스/Python] Lv 1. 추억 점수

⭐ 문제 링크 hhttps://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(name, yearning, photo): answer = [] # 인물별 추억점수 : dict() score = {} for i in range(len(name)): score[name[i]] = yearning[i] # 사진별 추억점수 for p in photo: cnt = 0 for pp in p: if pp in score: cnt +..

Python/Programmers 2023.04.16

[프로그래머스/Python] Lv 1. 명예의 전당 (1)

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 방법 1 def solution(k, score): answer = [] hall = [] for s in score: hall.append(s) hall.sort(reverse=True) answer.append(min(hall[:k])) return answer 방법 2 def solution(k, score): answer = [] rank = [] for s ..

Python/Programmers 2023.04.16

[프로그래머스/Python] Lv 1. 과일 장수

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/135808 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 ❌ 시간초과 def solution(k, m, score): answer = 0 score.sort(reverse=True) for i in range(len(score)): temp = 0 if (i+1)%m == 0: box = score[temp:i+1] temp = i+1 answer += (min(box)*m) return answer ⭕ 통과 def sol..

Python/Programmers 2023.04.16

[프로그래머스/Python] Lv 2. 2 x n 타일링

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12900 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 # dp 알고리즘 def solution(n): answer = 0 d = [0]*60001 d[1] = 1 d[2] = 2 for i in range(3, n+1): d[i] = (d[i-1] + d[i-2]) % 1000000007 # 규칙 찾아서 점화식 만들기! return d[n]

Python/Programmers 2023.04.15

[프로그래머스/Python] Lv 2. 방문길이

⭐ 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ⭐ 풀이 코드 def solution(dirs): answer = set() # set을 통해 중복 제거 x, y = 0, 0 # 현재 좌표 udrl = {"U":(0,1), "D":(0,-1), "R":(1,0), "L":(-1,0)} for d in dirs: dx, dy = udrl[d] # 이동해야하는 좌표 nx = x + dx ny = y + dy if (-5

Python/Programmers 2023.04.15