코딩 기록들
[프로그래머스 코딩테스트 입문]-[순서쌍의 개수, 외계행성의 나이] 본문
1. 순서쌍의 개수
문제설명
자연수 n이 매개변수로 주어짐, 두 숫자의 곱이 n인 자연수 순서쌍의 개수 return
예시
입력(n) : 20, 출력 result : 6 ((1,20),(2,10),(4,5),(5,4),(10,2),(20,1))
생각해보기
순서쌍의 개수 = 약수개수이므로 n의 약수 개수 구하는 문제일것
def solution(n):
answer = 0
for i in range(1, n+1):
if n % i == 0:
answer += 1
return answer
2. 외계행성의 나이
문제설명
나이를 알파벳으로 (a=0, b=1, ... j=9) 표현할때, age가 매개변수로 주어질때 return 하는 방법 구하기
예시
age : 23, result : cd
age : 51, result : fv
생각해보기
리스트로, 딕셔너리로 풀 수 있다
머가 더 효율적인지는 모르겠음
1) 리스트로 풀기
def solution(age):
answer = ''
# age 리스트 선언
age_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
for i in str(age):
answer += age_list[int(i)]
return answer
2) 딕셔너리로 풀기
def solution(age):
# age 딕셔너리(key:value) 선언
age_dict = {'0':'a','1':'b','2':'c','3':'d','4':'e','5':'f','6':'g','7':'h','8':'i','9':'j'}
# 숫자형 age를 문자로
return ''.join([age_dict[i] for i in str(age)])
join() 함수
- 리스트의 요소를 하나의 문자열로 합치는데 사용됨
- 문자열을 이어붙이는데 특정 구분자 사용 ex) a = ','.join(age) -> 요소를 ,로 구분하고 문자열로 합침
- 합치려는 객체의 요소가 모두 문자열 이어야함
딕셔너리 : 리스트, 튜플과 달리 순서가 없음 -> 인덱스로 접근 불가
'프로그래머스 문제기록' 카테고리의 다른 글
[프로그래머스 코딩테스트 입문] - [주사위의 개수, 합성수 찾기] (0) | 2023.09.20 |
---|---|
[프로그래머스 코딩테스트 입문] - [공 던지기, 배열 회전시키기] (0) | 2023.09.19 |
[프로그래머스 코딩테스트 입문]-[점의 위치 구하기, 2차원으로 만들기] (0) | 2023.09.16 |
[프로그래머스 코딩테스트 입문] - [가위바위보, 구슬 나누는 경우의 수] (0) | 2023.09.15 |
[프로그래머스 코딩테스트 입문]-[개미군단, 모스부호(1)] (0) | 2023.09.14 |