분류 전체보기 1372

프로그래머스(Python) 49994번 방문 길이 풀이

Python으로 구현한 49994번 방문 길이 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr def solution(dirs) : x, y = 0, 0 nx, ny = 0, 0 visited = [] answer = 0 for dir in dirs : if dir == 'U' : # 위로 한 칸 이동 ny += 1 elif dir == 'D' : # 아래로 한 칸 이동 ny -= 1 elif dir == 'L' : # 왼쪽으로 한 칸 이동 nx -= 1 elif dir == 'R' : # 오른쪽으로 한 칸 이동 nx += 1 if abs(nx) > 5 or abs(ny)..

프로그래머스(Python) 62048번 멀쩡한 사각형 풀이

Python으로 구현한 62048번 멀쩡한 사각형 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr def solution(w, h) : gcd = 0 for i in range(min(w, h), 0, -1) : if w % i == 0 and h % i == 0 : gcd = i break answer = w * h - (w + h - gcd) return ans..

프로그래머스(Python) 42885번 구명보트 풀이

Python으로 구현한 42885번 구명보트 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr from collections import deque def solution(people, limit) : answer = 0 people.sort() people = deque(people) while people : if len(people) == 1 : answer +..

프로그래머스(Python) 17682번 [1차] 다트 게임 풀이

Python으로 구현한 17682번 [1차] 다트 게임 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr def solution(dartResult): answer = [] index = 0 score_idx = -1 while index < len(dartResult) : if dartResult[index].isdigit() : end_index = index while dartResult[end_index].isdigit() : end_index += 1 if dartResult[end_index] == 'S' : answer.append(int(dartRes..

프로그래머스(Python) 12906번 같은 숫자는 싫어 풀이

Python으로 구현한 12906번 같은 숫자는 싫어 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr def solution(arr) : answer = [arr[0]] for i in range(1, len(arr)) : if arr[i] == answer[-1] : continue else : answer.append(arr[i]) return answer 1...

프로그래머스(Python) 12916번 문자열 내 p와 y의 개수 풀이

Python으로 구현한 12916번 문자열 내 p와 y의 개수 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr def solution(s) : s = s.lower() count_p = s.count("p") count_y = s.count("y") if count_p == count_y : return True else..

프로그래머스(Python) 12921번 소수 찾기 풀이

Python으로 구현한 12921번 소수 찾기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr def solution(n) : temp = set(range(2, n + 1)) for i in range(2, n + 1) : if i in temp : temp -= set(range(2 * i, n + 1, i)) return len(temp) 1. 2부터 n까지 수..

프로그래머스(Python) 12931번 자릿수 더하기 풀이

Python으로 구현한 12931번 자릿수 더하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12931 코딩테스트 연습 - 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출 programmers.co.kr def solution(n) : answer = 0 n = str(n) for value in n : answer += int(value) return answer 1. 전달받은 정수형 n을 문자열 형태로 변환하고, 각 ..

프로그래머스(Python) 92342번 양궁대회 풀이

Python으로 구현한 92342번 양궁대회 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr from copy import deepcopy max_diff = 0 answer = [] def dfs(info, shoot, n, i) : global answer, max_diff if i == 11 : if n != 0 : shoot[10] = n score_diff = calcDiff(info, ..

프로그래머스(Python) 12933번 정수 내림차순으로 배치하기 풀이

Python으로 구현한 12933번 정수 내림차순으로 배치하기 문제 풀이입니다. https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr def solution(n) : n = list(str(n)) n.sort(reverse=True) n = "".join(n) return int(n) 1. 전달받은 정수 값 n을 문자열 형태로 변환하고 리스트 형태로 갱신한다. 2. ..