본문 바로가기

Problem Solving50

(프로그래머스/입문)DAY10: 배열 회전시키기 리스트에서 요소를 빼고 추가한다 하면 생각하는게 리스트 메소드인 pop과 append 였다.그런데, pop은 특정 인덱스의 요소를 뺄 수 있지만 append는 아래 사진을 보면 알 수 있듯이 추가할 요소만 인수로 받는다.=> append는 인수로 받은 값을 마지막에만 추가 할 수 있다. 그래서 direction 이 left인 경우 첫 번째 값(0번째 인덱스)을 마지막에 추가해서 append 를 사용해도 되지만,direction 이 right 인 경우? append를 사용할 수 없다. 그래도 찾아보면 나올거 같아서 Python docs: list를 좀 더 헤집어 보니 나왔다.그 주인공은 바로 ~~ insert 리스트 메서드이다. 살펴보면, insert 메서드는 "위치를 지정해 아이템을 집어넣는다." 라고 .. 2026. 2. 3.
(프로그래머스/입문)DAY10: 2차원으로 만들기 풀다보니 "행과 열의 개수가 변수로 이뤄진 2차원 배열을 어떻게 만들지..???" 라는 생각이 들어 엄청 막막했었다.겨우 풀었는데, 내가 코드는 다음과 같다:def solution(num_list, n): answer = [] for i in range(1, 1 + len(num_list)//n): answer.append([num_list[j] for j in range((i - 1) * n, i * n)]) return answer로직을 설명해보자면, 1. 배열의 크기를 구한다. 1) 행 개수 : len(num_list) // n 2) 열 개수 : n2. 1-1에서 구한행 개수만큼 반복문 돈다.3. 2의 반복문 안에서 각 행마다 열 개수 만큼의 num_list .. 2026. 2. 3.
(프로그래머스/입문)Day 10: 공 던지기 이 문제는 "0번 인덱스에서 시작해 일정한 보폭으로 이동할 때, 원형 배열에서 최종 위치를 찾는 방법"을 묻는 문제다. def solution(numbers, k): return numbers[(k-1)*2 %len(numbers)] 푼 로직을 설명해보자면,1. (k - 1) * 2 : 원형배열을 계속 이어 나열했을 때 마지막으로 받는 수의 인덱스 1) k - 1: 공을 홀수인 1부터 받지만 해당 홀수의 인덱스로 보면 0부터 받으므로 -1 해줌 2) *2 : 한 명씩 건너뛰고 공을 받음. 예를들면 (0, 2, 4, ... )이런식으로2. (k - 1) * 2 % len(numbers) : 원형배열인걸 고려해서 1에서 구한 값을 원형배열의 길이로 나눈 값의 나머지로 원형 배열에서의 인.. 2026. 2. 3.
(프로그래머스/입문)DAY8: 외계행성의 나이 제공받은 나이의 각 자릿수에서 0이면 a부터 시작해서 9이면 j까지 변환해서 return 해줘야 한다. def solution(age): num = list('abcdefghij') answer = [] for i in str(age): answer.append(num[int(i)]) return ''.join(answer)0부터 시작한다고 하면 떠오르는게 인덱스여서,a~j 까지 담긴 num이라는 리스트를 만들어 주었다.숫자 형태인 age의 각 자릿수 값이 필요해서 문자열로 만들었고,for 반복문을 사용해 문자열이 된 age의 각 자릿수의 값을 인덱스로 사용해 대응하는 num리스트의 알파벳을 담아 return 해줬다. 2026. 2. 2.
(프로그래머스/입문)DAY9: 모스부호 (1) 제한사항을 보면 letter의 모스부호가 각각 공백으로 나눠져있다고 한다.특정한 형식으로 나눠져 있는 단어를 각각 가져와서 사용하고 싶을 때 split을 사용하면 된다. split 문자열 메서드문자열.split(sep)- sep을 구분자 문자열로 사용- 문자열 내 단어를 리스트로 반환주의할점은, 문자열 자체를 바꾸는게 아니라 나눠진 단어들을 리스트로 반환한다는 것이다.그래서 주로 변수에 할당해서 사용한다. 예를들어, '1,2,3' 이라는 문자열에서 각각의 숫자를 리스트에 요소로 넣으려면: '1 2 3' 이라는 문자열에서는:해당 예시를 보면 알 수 있듯이 공백으로 구분되어있으면 인수를 안 넣어도 된다. 이제 문제를 풀어보자.문제에서 제공된 morse 딕셔너리는 Key가 모스부호이고, Value가 모스부.. 2026. 2. 2.
(프로그래머스/입문)DAY8: 진료순서 정하기 sort 메서드와 sorted 함수sort 메서드와 sorted 함수는 둘 다 배열을 정렬할 때 사용한다. sort 메서드sort 메서드는 배열.sort() 배열.sort(reverse= True) 이면 내림차순 정렬 ) 해당 배열 자체를 바꿔서 왼쪽 사진처럼 따로 변수에 넣어 변수를 출력하면 None이 출력되는 것을 볼 수 있다. sorted 함수sorted 함수의 사용은 sorted(배열) 이런식이다.얘는 sort 메서드처럼 배열 자체를 바꾸는 것이 아니라 해당 배열의 값을 정렬한 배열을 반환하기에, 보통 변수에 담아 사용한다. 2026. 2. 1.