본문 바로가기

Algorithm245

[프로그래머스] Lv1 - 정수 내림차순으로 배치하기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr def solution(n): return int(''.join(sorted(str(int(n)), reverse=True))) 풀이 1. 정수 n을 문자열화 하고 sorted와 속성 reverse=True 이용해서 역순으로 정렬한다. (sorted는 정렬한 값을 리스트로 반환) 2. 반환된 리스트를 문자열로 jo.. 2022. 3. 24.
[프로그래머스] Lv1 - 자연수 뒤집어 배열로 만들기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12932 코딩테스트 연습 - 자연수 뒤집어 배열로 만들기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 programmers.co.kr def solution(n): return list(map(int, str(n)))[::-1] 풀이 1. 자연수 n을 문자열화하고, 각 자릿수마다 int화한 리스트를 만든다. 2. 해당 리스트를 역순으로 만든 리스트를 리턴 주의 리스트[::-1] : 해당 리스트를 역순으로 슬라이싱 리스트.. 2022. 3. 24.
[프로그래머스] Lv1 - 자릿수 더하기 (파이썬) 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): return sum(list(map(int, str(n)))) 풀이 1. 정수 n을 문자열로 바꿔준 다음 각 인덱스마다 int화하여 리스트를 만들어준다. 2. 리스트의 합 return 2022. 3. 24.
[백준] 14938번 - 서강그라운드 (파이썬) # 서강그라운드 import sys input = sys.stdin.readline N, m, r = map(int, input().split()) item = [0] + list(map(int, input().split())) arr = [[sys.maxsize for _ in range(N+1)] for _ in range(N+1)] for i in range(N+1): arr[i][i] = 0 for _ in range(r): a, b, dist = map(int, input().split()) arr[a][b] = dist arr[b][a] = dist for k in range(N+1): for i in range(N+1): for j in range(N+1): if arr[i][j] > arr.. 2022. 3. 24.
[프로그래머스] Lv1 - 이상한 문자 만들기 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr def solution(s): answer = '' arr = s.split(' ') for s in arr: for i, x in enumerate(s): answer += x.upper() if i % 2 == 0 else x.lower() answer += ' ' return answer[:-1] 풀이 1. 공백으로 나눔 2. 문자열 s를 en.. 2022. 3. 23.
[프로그래머스] Lv1 - 약수의 합 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12928 코딩테스트 연습 - 약수의 합 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수 programmers.co.kr from math import sqrt def solution(n): if n == 0 or n == 1: return n answer = n+1 for x in range(2, int(sqrt(n))+1): if n % x == 0: answer += sum(set([x, n//x])) return answ.. 2022. 3. 23.
[프로그래머스] Lv1 - 시저 암호 (파이썬) https://programmers.co.kr/learn/courses/30/lessons/12926 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr def solution(s, n): answer = '' for x in s: if x == ' ': answer += ' ' else: if x.isupper(): answer += chr((ord(x)-ord('A') + n) % 26+ord('A')) elif x.islower(): answer += chr((ord(x)-ord.. 2022. 3. 23.