kj0on

[Programmers] 코딩 테스트 입문 (100 문제) 본문

Python/Coding Test

[Programmers] 코딩 테스트 입문 (100 문제)

kj0on 2025. 6. 27. 18:16
목차 접기


1. 두 수의 곱 구하기

 

1-1. 문제 설명

정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120804


1-2. 풀이 코드

def solution(num1, num2):
    answer = num1 * num2
    return answer

 

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120804.%E2%80%85%EB%91%90%E2%80%85%EC%88%98%EC%9D%98%E2%80%85%EA%B3%B1%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


2. 나머지 구하기

 

2-1. 문제 설명

정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120810


2-2. 풀이 코드

def solution(num1, num2):
    answer = num1 % num2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120810.%E2%80%85%EB%82%98%EB%A8%B8%EC%A7%80%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


3. 두 수의 차 구하기

 

3-1. 문제 설명

정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120803


3-2. 풀이 코드

def solution(num1, num2):
    answer = num1 - num2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120803.%E2%80%85%EB%91%90%E2%80%85%EC%88%98%EC%9D%98%E2%80%85%EC%B0%A8%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


4. 숫자 비교하기

 

4-1. 문제 설명

정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120807


4-2. 풀이 코드

def solution(num1, num2):
    answer = 1 if num1 == num2 else -1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120807.%E2%80%85%EC%88%AB%EC%9E%90%E2%80%85%EB%B9%84%EA%B5%90%ED%95%98%EA%B8%B0


5. 나이 출력

 

5-1. 문제 설명

머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 2022년 기준 선생님의 나이 age가 주어질 때, 선생님의 출생 연도를 return 하는 solution 함수를 완성해주세요

https://school.programmers.co.kr/learn/courses/30/lessons/120820


5-2. 풀이 코드

def solution(age):
    answer = 2022 - age + 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120820.%E2%80%85%EB%82%98%EC%9D%B4%E2%80%85%EC%B6%9C%EB%A0%A5


6. 두 수의 나눗셈

 

6-1. 문제 설명

정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120806


6-2. 풀이 코드

def solution(num1, num2):
    answer = int(num1 / num2 * 1000)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120806.%E2%80%85%EB%91%90%E2%80%85%EC%88%98%EC%9D%98%E2%80%85%EB%82%98%EB%88%97%EC%85%88


7. 몫 구하기

 

7-1. 문제 설명

정수 num1, num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120805


7-2. 풀이 코드

def solution(num1, num2):
    answer = num1 // num2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120805.%E2%80%85%EB%AA%AB%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


8. 두 수의 합 구하기

 

8-1. 문제 설명

정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.

8-2. 풀이 코드

def solution(num1, num2):
    answer = num1 + num2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120802.%E2%80%85%EB%91%90%E2%80%85%EC%88%98%EC%9D%98%E2%80%85%ED%95%A9%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


9. 각도기

 

9-1. 문제 설명

각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요.

예각 : 0 < angle < 90
직각 : angle = 90
둔각 : 90 < angle < 180
평각 : angle = 180

https://school.programmers.co.kr/learn/courses/30/lessons/120829


9-2. 풀이 코드

def solution(angle):
    if 0 < angle < 90:
        answer = 1
    elif angle == 90:
        answer = 2
    elif 90 < angle < 180:
        answer = 3
    elif angle == 180:
        answer = 4
        
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120829.%E2%80%85%EA%B0%81%EB%8F%84%EA%B8%B0


10. 양꼬치

 

10-1. 문제 설명

머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120830


10-2. 풀이 코드

def solution(n, k):
    answer = 12000 * n + 2000 * k - n // 10 * 2000
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120830.%E2%80%85%EC%96%91%EA%BC%AC%EC%B9%98


11. 짝수의 합

 

11-1. 문제 설명

정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120831


11-2. 풀이 코드

def solution(n):
    a = int(n / 2)
    answer = int(a * (2 + n) / 2)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120831.%E2%80%85%EC%A7%9D%EC%88%98%EC%9D%98%E2%80%85%ED%95%A9


12. 배열의 평균값

 

12-1. 문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120817


12-2. 풀이 코드

def solution(numbers):
    answer = sum(numbers) / len(numbers)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120817.%E2%80%85%EB%B0%B0%EC%97%B4%EC%9D%98%E2%80%85%ED%8F%89%EA%B7%A0%EA%B0%92


13. 배열 뒤집기

 

13-1. 문제 설명

정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120821


13-2. 풀이 코드

def solution(answer):
    answer.reverse()
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120821.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%EB%92%A4%EC%A7%91%EA%B8%B0


14. 짝수 홀수 개수

 

14-1. 문제 설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120824


14-2. 풀이 코드

def solution(num_list):
    answer = [0, 0]
    for i in num_list:
        answer[i % 2] += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120824.%E2%80%85%EC%A7%9D%EC%88%98%E2%80%85%ED%99%80%EC%88%98%E2%80%85%EA%B0%9C%EC%88%98


15. 뒤집힌 문자열

 

15-1. 문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120822


15-2. 풀이 코드

def solution(my_string):
    answer = my_string[::-1]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120822.%E2%80%85%EB%92%A4%EC%A7%91%ED%9E%8C%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4


16. 편지

 

16-1. 문제 설명

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120898


16-2. 풀이 코드

def solution(message):
    answer = len(message) * 2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120898.%E2%80%85%ED%8E%B8%EC%A7%80


17. 피자 나눠 먹기 (1)

 

17-1. 문제 설명

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120814


17-2. 풀이 코드

def solution(n):
    p = n // 7
    answer = p + 1 if n % 7 else p
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120814.%E2%80%85%ED%94%BC%EC%9E%90%E2%80%85%EB%82%98%EB%88%A0%E2%80%85%EB%A8%B9%EA%B8%B0%E2%80%85%EF%BC%881%EF%BC%89


18. 세균 증식

 

18-1. 문제 설명

어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120910


18-2. 풀이 코드

def solution(n, t):
    answer = n * 2 ** t
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120910.%E2%80%85%EC%84%B8%EA%B7%A0%E2%80%85%EC%A6%9D%EC%8B%9D


19. 최댓값 만들기(1)

 

19-1. 문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120847


19-2. 풀이 코드

def solution(numbers):
    numbers.sort(reverse=True)
    answer = numbers[0] * numbers[1]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120847.%E2%80%85%EC%B5%9C%EB%8C%93%EA%B0%92%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0%E2%80%85%EF%BC%881%EF%BC%89


20. 자릿수 더하기

 

20-1. 문제 설명

정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요

https://school.programmers.co.kr/learn/courses/30/lessons/120906


20-2. 풀이 코드

def solution(n):
    answer = sum([int(i) for i in str(n)])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120906.%E2%80%85%EC%9E%90%EB%A6%BF%EC%88%98%E2%80%85%EB%8D%94%ED%95%98%EA%B8%B0


21. 머쓱이보다 키 큰 사람

 

21-1. 문제 설명

머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120585


21-2. 풀이 코드

def solution(array, height):
    answer = sum(1 for x in array if x > height)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120585.%E2%80%85%EB%A8%B8%EC%93%B1%EC%9D%B4%EB%B3%B4%EB%8B%A4%E2%80%85%ED%82%A4%E2%80%85%ED%81%B0%E2%80%85%EC%82%AC%EB%9E%8C


22. 삼각형의 완성조건 (1)

 

22-1. 문제 설명

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

삼각형의 세 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 세 변으로 삼각형을 만들 수 있다면 1, 만들 수 없다면 2를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120889


22-2. 풀이 코드

def solution(sides):
    answer = 1 if (sum(sides) - max(sides)) > max(sides) else 2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120889.%E2%80%85%EC%82%BC%EA%B0%81%ED%98%95%EC%9D%98%E2%80%85%EC%99%84%EC%84%B1%EC%A1%B0%EA%B1%B4%E2%80%85%EF%BC%881%EF%BC%89


23. 배열 자르기

 

23-1. 문제 설명

정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120833


23-2. 풀이 코드

def solution(numbers, num1, num2):
    answer = numbers[num1:num2 + 1]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120833.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%EC%9E%90%EB%A5%B4%EA%B8%B0


24. 피자 나눠 먹기 (3)

 

24-1. 문제 설명

머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120816


24-2. 풀이 코드

def solution(slice, n):
    answer = n // slice + 1 if n % slice else n // slice
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120816.%E2%80%85%ED%94%BC%EC%9E%90%E2%80%85%EB%82%98%EB%88%A0%E2%80%85%EB%A8%B9%EA%B8%B0%E2%80%85%EF%BC%883%EF%BC%89


25. 점의 위치 구하기

 

25-1. 문제 설명

사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다.

x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다.
x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다.
x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다.
x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다.

x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120841


25-2. 풀이 코드

def solution(dot):
    answer = 0
    if dot[0] * dot[1] > 0:
        answer = 1 if dot[0] > 0 else 3
    elif dot[0] * dot[1] < 0:
        answer = 2 if dot[0] < 0 else 4
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120841.%E2%80%85%EC%A0%90%EC%9D%98%E2%80%85%EC%9C%84%EC%B9%98%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


26. 배열의 유사도

 

26-1. 문제 설명

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120903


26-2. 풀이 코드

def solution(s1, s2):
    answer = len(s1.intersection(s2))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120903.%E2%80%85%EB%B0%B0%EC%97%B4%EC%9D%98%E2%80%85%EC%9C%A0%EC%82%AC%EB%8F%84


27. 순서쌍의 개수

 

27-1. 문제 설명

순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120836


27-2. 풀이 코드

def solution(n):
    answer = []
    for i in range(1, n + 1):
        if n % i == 0:
            answer.append(i)
    return len(answer)

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120836.%E2%80%85%EC%88%9C%EC%84%9C%EC%8C%8D%EC%9D%98%E2%80%85%EA%B0%9C%EC%88%98


28. n의 배수 고르기

 

28-1. 문제 설명

정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120905


28-2. 풀이 코드

def solution(n, numlist):
    answer = []
    for i in numlist:
        if i % n == 0:
            answer.append(i)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120905.%E2%80%85n%EC%9D%98%E2%80%85%EB%B0%B0%EC%88%98%E2%80%85%EA%B3%A0%EB%A5%B4%EA%B8%B0


29. 배열 원소의 길이

 

29-1. 문제 설명

문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120854


29-2. 풀이 코드

def solution(strlist):
    answer = []
    for s in strlist:
        answer.append(len(s))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120854.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%EC%9B%90%EC%86%8C%EC%9D%98%E2%80%85%EA%B8%B8%EC%9D%B4


30. 아이스 아메리카노

 

30-1. 문제 설명

머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120819


30-2. 풀이 코드

def solution(money):
    answer = divmod(money, 5500)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120819.%E2%80%85%EC%95%84%EC%9D%B4%EC%8A%A4%E2%80%85%EC%95%84%EB%A9%94%EB%A6%AC%EC%B9%B4%EB%85%B8


31. 문자열안에 문자열

 

31-1. 문제 설명

문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120908


31-2. 풀이 코드

def solution(str1, str2):
    answer = 1 if str2 in str1 else 2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120908.%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%EC%95%88%EC%97%90%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4


32. 문자 반복 출력하기 (r)

 

32-1. 문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120825


32-2. 풀이 코드

def solution(my_string, n):
    answer = ''
    for c in my_string:
        answer += c * n
    return answer

 


33. 제곱수 판별하기

 

33-1. 문제 설명

어떤 자연수를 제곱했을 때 나오는 정수를 제곱수라고 합니다. 정수 n이 매개변수로 주어질 때, n이 제곱수라면 1을 아니라면 2를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120909


33-2. 풀이 코드

def solution(n):
    answer = 1 if int(n**0.5) ** 2 == n else 2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120909.%E2%80%85%EC%A0%9C%EA%B3%B1%EC%88%98%E2%80%85%ED%8C%90%EB%B3%84%ED%95%98%EA%B8%B0


34. 모음 제거

 

34-1. 문제 설명

영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120849


34-2. 풀이 코드

def solution(my_string):
    list = ['a', 'e', 'i', 'o', 'u']
    for i in list:
        while i in my_string:
            my_string = my_string.replace(i, '')
    answer = my_string
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120849.%E2%80%85%EB%AA%A8%EC%9D%8C%E2%80%85%EC%A0%9C%EA%B1%B0


35. 특정 문자 제거하기

 

35-1. 문제 설명

문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120826


35-2. 풀이 코드

def solution(my_string, letter):
    answer = my_string.replace(letter, '')
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120826.%E2%80%85%ED%8A%B9%EC%A0%95%E2%80%85%EB%AC%B8%EC%9E%90%E2%80%85%EC%A0%9C%EA%B1%B0%ED%95%98%EA%B8%B0


36. 중복된 숫자 개수

 

36-1. 문제 설명

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120583


36-2. 풀이 코드

def solution(array, n):
    answer = array.count(n)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120583.%E2%80%85%EC%A4%91%EB%B3%B5%EB%90%9C%E2%80%85%EC%88%AB%EC%9E%90%E2%80%85%EA%B0%9C%EC%88%98


37. 배열 두 배 만들기

 

37-1. 문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120809


37-2. 풀이 코드

def solution(numbers):
    answer = []
    for i in numbers:
        answer.append(i * 2)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120809.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%EB%91%90%EB%B0%B0%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0


38. 중앙값 구하기

 

38-1. 문제 설명

중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120811


38-2. 풀이 코드

def solution(array):
    array.sort()
    answer = array[int(len(array)/2)]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120811.%E2%80%85%EC%A4%91%EC%95%99%EA%B0%92%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


39. 짝수는 싫어요

 

39-1. 문제 설명

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120813


39-2. 풀이 코드

def solution(n):
    answer = [i for i in range(1, n + 1, 2)]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120813.%E2%80%85%EC%A7%9D%EC%88%98%EB%8A%94%E2%80%85%EC%8B%AB%EC%96%B4%EC%9A%94


40. 옷가게 할인 받기

 

40-1. 문제 설명

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120818


40-2. 풀이 코드

def solution(price):
    p_dict = {0:0, 1:1, 2:1, 3:2, 4:2}
    m = p_dict[price // 100000] if price < 500000 else 4
    answer = int(price - m * price * 0.05)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120818.%E2%80%85%EC%98%B7%EA%B0%80%EA%B2%8C%E2%80%85%ED%95%A0%EC%9D%B8%E2%80%85%EB%B0%9B%EA%B8%B0


41. 직각삼각형 출력하기

 

41-1. 문제 설명

"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120823


41-2. 풀이 코드

n = int(input())
print('\n'.join(['*'*i for i in range(1, n+1)]))

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120823.%E2%80%85%EC%A7%81%EA%B0%81%EC%82%BC%EA%B0%81%ED%98%95%E2%80%85%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0


42. 개미 군단

 

42-1. 문제 설명

개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120837


42-2. 풀이 코드

def solution(hp):
    ant_list = [5, 3, 1]
    answer = 0
    for i in ant_list:
        c, hp = divmod(hp, i)
        answer += c
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120837.%E2%80%85%EA%B0%9C%EB%AF%B8%E2%80%85%EA%B5%B0%EB%8B%A8


43. 가위 바위 보

 

43-1. 문제 설명

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120839


43-2. 풀이 코드

def solution(rsp):
    rsp_dict = {'0':'5', '2':'0', '5':'2'}
    answer = ''.join(rsp_dict[i] for i in rsp)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120839.%E2%80%85%EA%B0%80%EC%9C%84%E2%80%85%EB%B0%94%EC%9C%84%E2%80%85%EB%B3%B4


44. 주사위의 개수

 

44-1. 문제 설명

머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120845


44-2. 풀이 코드

def solution(box, n):
    a, b, c = [i // n for i in box]
    answer = a * b * c
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120845.%E2%80%85%EC%A3%BC%EC%82%AC%EC%9C%84%EC%9D%98%E2%80%85%EA%B0%9C%EC%88%98


45. 문자열 정렬하기 (1)

 

45-1. 문제 설명

문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120850


45-2. 풀이 코드

def solution(my_string):
    answer = []
    for i in my_string:
        try:
            answer.append(int(i))
        except:
            continue
    answer.sort()
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120850.%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%E2%80%85%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0%E2%80%85%EF%BC%881%EF%BC%89


46. 숨어있는 숫자의 덧셈 (1)

 

46-1. 문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120851


46-2. 풀이 코드

def solution(my_string):
    answer = sum([int(i) if i.isdigit() else 0 for i in my_string])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120851.%E2%80%85%EC%88%A8%EC%96%B4%EC%9E%88%EB%8A%94%E2%80%85%EC%88%AB%EC%9E%90%EC%9D%98%E2%80%85%EB%8D%A7%EC%85%88%E2%80%85%EF%BC%881%EF%BC%89


47. 최댓값 만들기 (2)

 

47-1. 문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120862


47-2. 풀이 코드

def solution(numbers):
    numbers.sort()
    answer = max(numbers[0] * numbers[1], numbers[-1] * numbers[-2])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120862.%E2%80%85%EC%B5%9C%EB%8C%93%EA%B0%92%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0%E2%80%85%EF%BC%882%EF%BC%89


48. 암호 해독

 

48-1. 문제 설명

군 전략가 머쓱이는 전쟁 중 적군이 다음과 같은 암호 체계를 사용한다는 것을 알아냈습니다.

암호화된 문자열 cipher를 주고받습니다.
그 문자열에서 code의 배수 번째 글자만 진짜 암호입니다.

문자열 cipher와 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120892


48-2. 풀이 코드

def solution(cipher, code):
    answer = cipher[code-1::code]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120892.%E2%80%85%EC%95%94%ED%98%B8%E2%80%85%ED%95%B4%EB%8F%85


49. 대문자와 소문자

 

49-1. 문제 설명

문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120893


49-2. 풀이 코드

def solution(my_string):
    answer = ''
    for i in my_string:
        if 65 <= ord(i) <= 90:
            sign = 1
        else:
            sign = -1
        answer += chr(ord(i) + 32 * sign)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120893.%E2%80%85%EB%8C%80%EB%AC%B8%EC%9E%90%EC%99%80%E2%80%85%EC%86%8C%EB%AC%B8%EC%9E%90


50. 인덱스 바꾸기

 

50-1. 문제 설명

문자열 my_string과 정수 num1, num2가 매개변수로 주어질 때, my_string에서 인덱스 num1과 인덱스 num2에 해당하는 문자를 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120895


50-2. 풀이 코드

def solution(my_string, num1, num2):
    my_string = list(my_string)
    temp = my_string[num1]
    my_string[num1] = my_string[num2]
    my_string[num2] = temp
    answer = ''.join(my_string)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120895.%E2%80%85%EC%9D%B8%EB%8D%B1%EC%8A%A4%E2%80%85%EB%B0%94%EA%BE%B8%EA%B8%B0


51. 약수 구하기

 

51-1. 문제 설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120897


51-2. 풀이 코드

def solution(n):
    answer = []
    for i in range(1, n + 1):
        if n % i == 0:
            answer.append(i)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120897.%E2%80%85%EC%95%BD%EC%88%98%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


52. 가장 큰 수 찾기

 

52-1. 문제 설명

정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120899


52-2. 풀이 코드

def solution(array):
    answer = [max(array), array.index(max(array))]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120899.%E2%80%85%EA%B0%80%EC%9E%A5%E2%80%85%ED%81%B0%E2%80%85%EC%88%98%E2%80%85%EC%B0%BE%EA%B8%B0


53. 문자열 정렬하기 (2)

 

53-1. 문제 설명

영어 대소문자로 이루어진 문자열 my_string이 매개변수로 주어질 때, my_string을 모두 소문자로 바꾸고 알파벳 순서대로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120911


53-2. 풀이 코드

def solution(my_string):
    answer = ''.join(sorted(my_string.lower()))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120911.%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%E2%80%85%EC%A0%95%EB%A0%AC%ED%95%98%EA%B8%B0%E2%80%85%EF%BC%882%EF%BC%89


54. 숫자 찾기

 

54-1. 문제 설명

정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120904


54-2. 풀이 코드

def solution(num, k):
    num_s = [i for i in str(num)]
    answer = num_s.index(str(k)) + 1 if str(k) in num_s else -1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120904.%E2%80%85%EC%88%AB%EC%9E%90%E2%80%85%EC%B0%BE%EA%B8%B0


55. 피자 나눠 먹기 (2)

 

55-1. 문제 설명

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120815


55-2. 풀이 코드

def solution(n):
    for i in range(max(6, n), 6 * n + 1):
        if i % 6 == 0 and i % n == 0:
            answer = i // 6
            return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120815.%E2%80%85%ED%94%BC%EC%9E%90%E2%80%85%EB%82%98%EB%88%A0%E2%80%85%EB%A8%B9%EA%B8%B0%E2%80%85%EF%BC%882%EF%BC%89


56. 외계행성의 나이

 

56-1. 문제 설명

우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120834


56-2. 풀이 코드

def solution(age):
    answer = ''.join([chr(ord(i) + 49) for i in str(age)])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120834.%E2%80%85%EC%99%B8%EA%B3%84%ED%96%89%EC%84%B1%EC%9D%98%E2%80%85%EB%82%98%EC%9D%B4


57. 배열 회전시키기

 

57-1. 문제 설명

정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120844


57-2. 풀이 코드

def solution(numbers, direction):
    if direction == "right":
        answer = [numbers[-1]] + numbers[:-1]
    else:
        answer = numbers[1:] + [numbers[0]]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120844.%E2%80%85%EB%B0%B0%EC%97%B4%E2%80%85%ED%9A%8C%EC%A0%84%EC%8B%9C%ED%82%A4%EA%B8%B0


58. 369게임

 

58-1. 문제 설명

머쓱이는 친구들과 369게임을 하고 있습니다. 369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임입니다. 머쓱이가 말해야하는 숫자 order가 매개변수로 주어질 때, 머쓱이가 쳐야할 박수 횟수를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120891


58-2. 풀이 코드

def solution(order):
    answer = 0
    for i in str(order):
        if int(i) % 3 == 0 and int(i):
            answer += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0


59. 합성수 찾기

 

59-1. 문제 설명

약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120846


59-2. 풀이 코드

def solution(n):
    answer = 0
    for i in range(4, n + 1):
        count = 0
        for j in range(1, i + 1):
            if i % j == 0:
                count += 1
        if count >= 3:
            answer += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120846.%E2%80%85%ED%95%A9%EC%84%B1%EC%88%98%E2%80%85%EC%B0%BE%EA%B8%B0


60. 중복된 문자 제거

 

60-1. 문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120888


60-2. 풀이 코드

def solution(my_string):
    temp_string = list(my_string)
    for idx, i in enumerate(my_string):
        dup_idx = my_string[idx+1:].find(i)
        if dup_idx != -1:
            temp_string[dup_idx + 1 + idx] = ''
    answer = ''.join(temp_string)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120888.%E2%80%85%EC%A4%91%EB%B3%B5%EB%90%9C%E2%80%85%EB%AC%B8%EC%9E%90%E2%80%85%EC%A0%9C%EA%B1%B0


61. 모스부호 (1)

 

61-1. 문제 설명

머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다.

morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x', '-.--':'y','--..':'z' }

https://school.programmers.co.kr/learn/courses/30/lessons/120838


61-2. 풀이 코드

def solution(letter):
    answer = ''
    morse = { 
    '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f',
    '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l',
    '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r',
    '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x',
    '-.--':'y','--..':'z'}
    for i in letter.split():
        answer += morse[i]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120838.%E2%80%85%EB%AA%A8%EC%8A%A4%EB%B6%80%ED%98%B8%E2%80%85%EF%BC%881%EF%BC%89


62. 2차원으로 만들기

 

62-1. 문제 설명

정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요.

num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다.

num_list n result
[1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]]

https://school.programmers.co.kr/learn/courses/30/lessons/120842


62-2. 풀이 코드

def solution(num_list, n):
    answer = [num_list[i:i+n] for i in range(0, len(num_list), n)]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120842.%E2%80%852%EC%B0%A8%EC%9B%90%EC%9C%BC%EB%A1%9C%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0


63. A로 B 만들기

 

63-1. 문제 설명

문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120886


63-2. 풀이 코드

def solution(before, after):
    count = []
    for i in set(before):
        count.append([before.count(i), after.count(i)])
    answer = 0 if sum([x ^ y for x, y in count]) else 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120886.%E2%80%85A%EB%A1%9C%E2%80%85B%E2%80%85%EB%A7%8C%EB%93%A4%EA%B8%B0


64. k의 개수

 

64-1. 문제 설명

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120887


64-2. 풀이 코드

def solution(i, j, k):
    answer = 0
    for n in range(i, j + 1):
        answer += str(n).count(str(k))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120887.%E2%80%85k%EC%9D%98%E2%80%85%EA%B0%9C%EC%88%98


65. 한 번만 등장한 문자

 

65-1. 문제 설명

문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solution 함수를 완성해보세요. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 return 합니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120896


65-2. 풀이 코드

def solution(s):
    answer = []
    for i in set(s):
        if s.count(i) == 1:
            answer.append(i)
    answer = ''.join(sorted(answer))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120896.%E2%80%85%ED%95%9C%E2%80%85%EB%B2%88%EB%A7%8C%E2%80%85%EB%93%B1%EC%9E%A5%ED%95%9C%E2%80%85%EB%AC%B8%EC%9E%90


66. 숨어있는 숫자의 덧셈 (2)

 

66-1. 문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120864


66-2. 풀이 코드

def solution(my_string):
    numbers = [str(i) for i in range(0, 10)]
    for c in my_string:
        if c not in numbers:
            my_string = my_string.replace(c, ' ')
    answer = sum([int(i) for i in my_string.split()])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120864.%E2%80%85%EC%88%A8%EC%96%B4%EC%9E%88%EB%8A%94%E2%80%85%EC%88%AB%EC%9E%90%EC%9D%98%E2%80%85%EB%8D%A7%EC%85%88%E2%80%85%EF%BC%882%EF%BC%89


67. 진료순서 정하기 (r)

 

67-1. 문제 설명

외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120835


67-2. 풀이 코드

def solution(emergency):
    answer = []
    r_emergency = sorted(emergency, reverse=True)
    for i in emergency:
        answer.append(r_emergency.index(i) + 1)
    return answer

 


68. 팩토리얼

 

68-1. 문제 설명

i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

i! ≤ n

https://school.programmers.co.kr/learn/courses/30/lessons/120848


68-2. 풀이 코드

def solution(n):
    f = 1
    for i in range(1, 11):
        f *= i
        if f > n:
            answer = i - 1
            break
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120848.%E2%80%85%ED%8C%A9%ED%86%A0%EB%A6%AC%EC%96%BC


69. 가까운 수

 

69-1. 문제 설명

정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 return 하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120890


69-2. 풀이 코드

def solution(array, n): 
    array.sort()
    near = [abs(i - n) for i in array]
    answer = array[near.index(min(near))]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120890.%E2%80%85%EA%B0%80%EA%B9%8C%EC%9A%B4%E2%80%85%EC%88%98


70. 7의 개수

 

70-1. 문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120912


70-2. 풀이 코드

def solution(array):
    answer = ''.join(str(i) for i in array).count('7')
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120912.%E2%80%857%EC%9D%98%E2%80%85%EA%B0%9C%EC%88%98


71. 컨트롤 제트

 

71-1. 문제 설명

숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120853


71-2. 풀이 코드

def solution(s):
    s_list = s.split()
    z_idx = [idx for idx, i in enumerate(s_list) if i == 'Z']
    for i in z_idx:
        s_list[i] = 0
        s_list[i - 1] = 0
    answer = sum(list(map(int, s_list)))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120853.%E2%80%85%EC%BB%A8%ED%8A%B8%EB%A1%A4%E2%80%85%EC%A0%9C%ED%8A%B8


72. 잘라서 배열로 저장하기

 

72-1. 문제 설명

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120913


72-2. 풀이 코드

def solution(my_str, n):
    answer = [my_str[i:n + i] for i in range(0, len(my_str), n)]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120913.%E2%80%85%EC%9E%98%EB%9D%BC%EC%84%9C%E2%80%85%EB%B0%B0%EC%97%B4%EB%A1%9C%E2%80%85%EC%A0%80%EC%9E%A5%ED%95%98%EA%B8%B0


73. 소인수분해

 

73-1. 문제 설명


소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120852


73-2. 풀이 코드

def solution(n):
    answer = set()
    i = 2
    while n >= 2:
        if n % i == 0:
            n = n // i
            answer.add(i)
        else:
            i += 1
    answer = sorted(list(answer))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120852.%E2%80%85%EC%86%8C%EC%9D%B8%EC%88%98%EB%B6%84%ED%95%B4


74. 이진수 더하기

 

74-1. 문제 설명

이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120885


74-2. 풀이 코드

def solution(bin1, bin2):
    answer = bin(int(bin1, 2) + int(bin2, 2))[2:]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120885.%E2%80%85%EC%9D%B4%EC%A7%84%EC%88%98%E2%80%85%EB%8D%94%ED%95%98%EA%B8%B0


75. 문자열 계산하기

 

75-1. 문제 설명

my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120902


75-2. 풀이 코드

def solution(my_string):
    answer = 0
    sign = 1
    for i in my_string.split():
        if i.isdigit():
            answer += int(i) * sign
            sign = 1
        elif i == '-':
            sign = -1

    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120902.%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%E2%80%85%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0


76. 공 던지기

 

76-1. 문제 설명

머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120843


76-2. 풀이 코드

def solution(numbers, k):
    answer = numbers[(k * 2 - 2) % len(numbers)]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120843.%E2%80%85%EA%B3%B5%E2%80%85%EB%8D%98%EC%A7%80%EA%B8%B0


77. 영어가 싫어요

 

77-1. 문제 설명

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120894


77-2. 풀이 코드

def solution(numbers):
    string = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
    for idx, s in enumerate(string):
        while numbers.find(s) != -1:
            numbers = numbers.replace(s, str(idx))
    answer = int(numbers)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120894.%E2%80%85%EC%98%81%EC%96%B4%EA%B0%80%E2%80%85%EC%8B%AB%EC%96%B4%EC%9A%94


78. 구슬을 나누는 경우의 수

 

78-1. 문제 설명

머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120840


78-2. 풀이 코드

import math
def solution(balls, share):
    answer = int(math.factorial(balls) / (math.factorial(balls-share) * math.factorial(share)))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120840.%E2%80%85%EA%B5%AC%EC%8A%AC%EC%9D%84%E2%80%85%EB%82%98%EB%88%84%EB%8A%94%E2%80%85%EA%B2%BD%EC%9A%B0%EC%9D%98%E2%80%85%EC%88%98


79. 삼각형의 완성조건 (2)

 

79-1. 문제 설명

선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다.

가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다.

삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120868


79-2. 풀이 코드

def solution(sides):
    answer = 0
    for i in range(1, sum(sides) + 1):
        temp_sides = sorted(sides + [i])
        if temp_sides[0] + temp_sides[1] > temp_sides[2]:
            answer += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120868.%E2%80%85%EC%82%BC%EA%B0%81%ED%98%95%EC%9D%98%E2%80%85%EC%99%84%EC%84%B1%EC%A1%B0%EA%B1%B4%E2%80%85%EF%BC%882%EF%BC%89


80. 캐릭터의 좌표

 

80-1. 문제 설명

머쓱이는 RPG게임을 하고 있습니다. 게임에는 up, down, left, right 방향키가 있으며 각 키를 누르면 위, 아래, 왼쪽, 오른쪽으로 한 칸씩 이동합니다. 예를 들어 [0,0]에서 up을 누른다면 캐릭터의 좌표는 [0, 1], down을 누른다면 [0, -1], left를 누른다면 [-1, 0], right를 누른다면 [1, 0]입니다. 머쓱이가 입력한 방향키의 배열 keyinput와 맵의 크기 board이 매개변수로 주어집니다. 캐릭터는 항상 [0,0]에서 시작할 때 키 입력이 모두 끝난 뒤에 캐릭터의 좌표 [x, y]를 return하도록 solution 함수를 완성해주세요.

[0, 0]은 board의 정 중앙에 위치합니다. 예를 들어 board의 가로 크기가 9라면 캐릭터는 왼쪽으로 최대 [-4, 0]까지 오른쪽으로 최대 [4, 0]까지 이동할 수 있습니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120861


80-2. 풀이 코드

def solution(keyinput, board):
    answer = [0, 0]
    key_dict = {"left":[-1,0], "right":[1,0], "up":[1,1], "down":[-1,1]}
    m = [board[0] // 2, board[1] // 2]
    for i in keyinput:
        idx = key_dict[i][1]
        move = key_dict[i][0]
        if abs(answer[idx] + move) <= m[idx]:
            answer[idx] += move
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120861.%E2%80%85%EC%BA%90%EB%A6%AD%ED%84%B0%EC%9D%98%E2%80%85%EC%A2%8C%ED%91%9C


81. 외계어 사전

 

81-1. 문제 설명

PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120869


81-2. 풀이 코드

def solution(spell, dic):
    answer = 2
    for i in dic:
        temp = ''
        for j in spell:
            if j in i:
                temp += j
        if len(temp) == len(spell):
            answer = 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120869.%E2%80%85%EC%99%B8%EA%B3%84%EC%96%B4%E2%80%85%EC%82%AC%EC%A0%84


82. 종이 자르기

 

82-1. 문제 설명

머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.

정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120922


82-2. 풀이 코드

def solution(M, N):
    answer = (M - 1) + (N - 1) * M
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120922.%E2%80%85%EC%A2%85%EC%9D%B4%E2%80%85%EC%9E%90%EB%A5%B4%EA%B8%B0


83. 로그인 성공?

 

83-1. 문제 설명

머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.

아이디와 비밀번호가 모두 일치하는 회원정보가 있으면 "login"을 return합니다.
로그인이 실패했을 때 아이디가 일치하는 회원이 없다면 “fail”를, 아이디는 일치하지만 비밀번호가 일치하는 회원이 없다면 “wrong pw”를 return 합니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120883


83-2. 풀이 코드

def solution(id_pw, db):
    answer = "fail"
    for i in db:
        if id_pw[0] == i[0] and id_pw[1] == i[1]:
            answer = "login"
            break
        elif id_pw[0] == i[0]:
            answer = "wrong pw"
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120883.%E2%80%85%EB%A1%9C%EA%B7%B8%EC%9D%B8%E2%80%85%EC%84%B1%EA%B3%B5%EF%BC%9F


84. 직사각형 넓이 구하기

 

84-1. 문제 설명

2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120860


84-2. 풀이 코드

def solution(dots):
    a = set()
    b = set()
    for i in dots:
        a.add(i[0])
        b.add(i[1])
    answer = (max(a) - min(a)) * (max(b) - min(b))
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120860.%E2%80%85%EC%A7%81%EC%82%AC%EA%B0%81%ED%98%95%E2%80%85%EB%84%93%EC%9D%B4%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


85. 등수 매기기

 

85-1. 문제 설명

영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120882


85-2. 풀이 코드

def solution(score):
    total = [x + y for x, y in score]
    m = sorted(total, reverse=True)
    answer = [m.index(i) + 1 for i in total]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120882.%E2%80%85%EB%93%B1%EC%88%98%E2%80%85%EB%A7%A4%EA%B8%B0%EA%B8%B0


86. 치킨 쿠폰

 

86-1. 문제 설명

프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120884


86-2. 풀이 코드

def solution(chicken):
    answer = 0
    while chicken >= 10:
        chicken, c = divmod(chicken, 10)
        answer += chicken
        chicken += c
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120884.%E2%80%85%EC%B9%98%ED%82%A8%E2%80%85%EC%BF%A0%ED%8F%B0


87. 저주의 숫자 3

 

87-1. 문제 설명

3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.

10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자
1 1 6 8
2 2 7 10
3 4 8 11
4 5 9 14
5 7 10 16
정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120871


87-2. 풀이 코드

def solution(n):
    answer = 0
    i = 1
    while len(answer) <= n:
        if '3' not in str(i) and i % 3 != 0:
            answer = i
        i += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120871.%E2%80%85%EC%A0%80%EC%A3%BC%EC%9D%98%E2%80%85%EC%88%AB%EC%9E%90%E2%80%853


88. 문자열 밀기

 

88-1. 문제 설명

문자열 "hello"에서 각 문자를 오른쪽으로 한 칸씩 밀고 마지막 문자는 맨 앞으로 이동시키면 "ohell"이 됩니다. 이것을 문자열을 민다고 정의한다면 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120921


88-2. 풀이 코드

def solution(A, B):
    answer = -1
    for i in range(len(A)):
        string = A[-i:] + A[:-i]
        if string == B:
            answer = i
            break
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120921.%E2%80%85%EB%AC%B8%EC%9E%90%EC%97%B4%E2%80%85%EB%B0%80%EA%B8%B0


89. 유한소수 판별하기

 

89-1. 문제 설명

소수점 아래 숫자가 계속되지 않고 유한개인 소수를 유한소수라고 합니다. 분수를 소수로 고칠 때 유한소수로 나타낼 수 있는 분수인지 판별하려고 합니다. 유한소수가 되기 위한 분수의 조건은 다음과 같습니다.

기약분수로 나타내었을 때, 분모의 소인수가 2와 5만 존재해야 합니다.

두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120878


89-2. 풀이 코드

def solution(a, b):
    gcd = max([i for i in range(1, a + 1) if a % i == 0 and b % i == 0])
    if gcd:
        a, b = a // gcd, b // gcd

    if b == 1:
        answer = 1
    else:
        n = set()
        i = 2
        while b >= 2:
            if b % i == 0:
                b = b // i
                n.add(i)
            else:
                i += 1

        n = n - {2, 5}
        answer = 1 if len(n) == 0 else 2
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120878.%E2%80%85%EC%9C%A0%ED%95%9C%EC%86%8C%EC%88%98%E2%80%85%ED%8C%90%EB%B3%84%ED%95%98%EA%B8%B0


90. 특이한 정렬

 

90-1. 문제 설명

정수 n을 기준으로 n과 가까운 수부터 정렬하려고 합니다. 이때 n으로부터의 거리가 같다면 더 큰 수를 앞에 오도록 배치합니다. 정수가 담긴 배열 numlist와 정수 n이 주어질 때 numlist의 원소를 n으로부터 가까운 순서대로 정렬한 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120880


90-2. 풀이 코드

def solution(numlist, n):
    answer = list()
    numlist.sort()
    near_list = [abs(i - n) for i in numlist]
    for _ in range(len(numlist)):
        idx = len(numlist)- near_list[::-1].index(min(near_list)) - 1
        near_list[idx] = 10001
        answer.append(numlist[idx])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120880.%E2%80%85%ED%8A%B9%EC%9D%B4%ED%95%9C%E2%80%85%EC%A0%95%EB%A0%AC


91. 다항식 더하기

 

91-1. 문제 설명

한 개 이상의 항의 합으로 이루어진 식을 다항식이라고 합니다. 다항식을 계산할 때는 동류항끼리 계산해 정리합니다. 덧셈으로 이루어진 다항식 polynomial이 매개변수로 주어질 때, 동류항끼리 더한 결괏값을 문자열로 return 하도록 solution 함수를 완성해보세요. 같은 식이라면 가장 짧은 수식을 return 합니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120863


91-2. 풀이 코드

def solution(polynomial):
    n = [0, 0]
    for i in polynomial.split(" + "):
        if i.isdigit():
            n[1] += int(i)
        else:
            x = i.split('x')[0]
            n[0] += int(x) if x else 1

    x = "x" if n[0] == 1 else f"{n[0]}x" if n[0] else ""
    p = " + " if x and n[1] else ""
    n = f"{n[1]}" if n[1] else ""

    answer = x + p + n

    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120863.%E2%80%85%EB%8B%A4%ED%95%AD%EC%8B%9D%E2%80%85%EB%8D%94%ED%95%98%EA%B8%B0


92. 최빈값 구하기

 

92-1. 문제 설명

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120812


92-2. 풀이 코드

def solution(array):
    answer = list()
    val_list = list()
    for i in set(array):
        val_list.append(array.count(i))
        answer.append(i)
    answer = answer[val_list.index(max(val_list))] if val_list.count(max(val_list)) == 1 else -1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120812.%E2%80%85%EC%B5%9C%EB%B9%88%EA%B0%92%E2%80%85%EA%B5%AC%ED%95%98%EA%B8%B0


93. OX퀴즈

 

93-1. 문제 설명

덧셈, 뺄셈 수식들이 'X [연산자] Y = Z' 형태로 들어있는 문자열 배열 quiz가 매개변수로 주어집니다. 수식이 옳다면 "O"를 틀리다면 "X"를 순서대로 담은 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120907


93-2. 풀이 코드

def solution(quiz):
    ox_dic = {True:"O", False:"X"}
    answer = list()
    for q in quiz:
        q = q.split()
        if q[1] == '+':
            result = ox_dic[int(q[0]) + int(q[2]) == int(q[4])]
        elif q[1] == '-':
            result = ox_dic[int(q[0]) - int(q[2]) == int(q[4])]
        answer.append(result)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120907.%E2%80%85OX%ED%80%B4%EC%A6%88


94. 다음에 올 숫자

 

94-1. 문제 설명

등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120924


94-2. 풀이 코드

def solution(common):
    if common[2] - common[1] == common[1] - common[0]:
        answer = common[-1] + common[1] - common[0]
    else:
        answer = int(common[-1] * common[1] / common[0])
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120924.%E2%80%85%EB%8B%A4%EC%9D%8C%EC%97%90%E2%80%85%EC%98%AC%E2%80%85%EC%88%AB%EC%9E%90


95. 연속된 수의 합

 

95-1. 문제 설명

연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120923


95-2. 풀이 코드

def solution(num, total):
    idx = -num
    result = -1
    answer = []
    while result != total:
        answer = [i for i in range(idx, idx + num)]
        result = sum(answer)
        idx += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120923.%E2%80%85%EC%97%B0%EC%86%8D%EB%90%9C%E2%80%85%EC%88%98%EC%9D%98%E2%80%85%ED%95%A9


96. 안전지대

 

96-1. 문제 설명

다음 그림과 같이 지뢰가 있는 지역과 지뢰에 인접한 위, 아래, 좌, 우 대각선 칸을 모두 위험지역으로 분류합니다.
지뢰는 2차원 배열 board에 1로 표시되어 있고 board에는 지뢰가 매설 된 지역 1과, 지뢰가 없는 지역 0만 존재합니다.
지뢰가 매설된 지역의 지도 board가 매개변수로 주어질 때, 안전한 지역의 칸 수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120866


96-2. 풀이 코드

import itertools
def solution(board):
    l = len(board)
    offset = list(itertools.product([-1, 0, 1], repeat=2))

    temp_board = [[0 for _ in range(l)] for _ in range(l)]
    for row, i in enumerate(board):
        for col, j in enumerate(i):
            if j == 1:
                for r, c in offset:
                    r_idx = row + r
                    c_idx = col + c
                    if 0 <= r_idx < l and 0 <= c_idx < l:
                        temp_board[r_idx][c_idx] = 1

    temp_board = [i for row in temp_board for i in row]
    answer = l ** 2 - temp_board.count(1)
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120866.%E2%80%85%EC%95%88%EC%A0%84%EC%A7%80%EB%8C%80


97. 분수의 덧셈

 

97-1. 문제 설명

첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120808


97-2. 풀이 코드

def solution(numer1, denom1, numer2, denom2):
    denom = denom1 * denom2
    numer = numer1 * denom2 + numer2 * denom1
    for i in reversed(range(1, denom+1)):
        if numer % i == 0 and denom % i == 0:
            numer //= i
            denom //= i
    answer = [numer, denom]
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120808.%E2%80%85%EB%B6%84%EC%88%98%EC%9D%98%E2%80%85%EB%8D%A7%EC%85%88


98. 겹치는 선분의 길이

 

98-1. 문제 설명

선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다.

https://school.programmers.co.kr/learn/courses/30/lessons/120876


98-2. 풀이 코드

def solution(lines):
    a = [set(range(s, e + 1)) for s, e in lines]
    flat = [i for i in range(min(a[0] | a[1] | a[2]), max(a[0] | a[1] | a[2]) + 1)]
    dup = [a[0] & a[1], a[1] & a[2], a[0] & a[2]]
    for d in dup:
        for idx, val in enumerate(d):
            if idx == 0:
                continue
            if val in flat:
                flat[flat.index(val)] = -101
                
    answer = flat.count(-101)

    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120876.%E2%80%85%EA%B2%B9%EC%B9%98%EB%8A%94%E2%80%85%EC%84%A0%EB%B6%84%EC%9D%98%E2%80%85%EA%B8%B8%EC%9D%B4


99. 평행

 

99-1. 문제 설명

점 네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다.

[[x1, y1], [x2, y2], [x3, y3], [x4, y4]]

주어진 네 개의 점을 두 개씩 이었을 때, 두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 return 하도록 solution 함수를 완성해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120875


99-2. 풀이 코드

def solution(dots):
    m = list()
    for a,b,c,d in [[0,1,2,3], [1,2,0,3], [0,2,1,3]]:
        m.append(((dots[a][0] - dots[b][0]) / (dots[a][1] - dots[b][1])) == ((dots[c][0] - dots[d][0]) / (dots[c][1] - dots[d][1])))
    answer = 1 if True in m else 0
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120875.%E2%80%85%ED%8F%89%ED%96%89


100. 옹알이 (1)

 

100-1. 문제 설명

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120956


100-2. 풀이 코드

def solution(babbling):
    answer = 0
    for b in babbling:
        if b.replace("aya", ' ').replace("ye", ' ').replace("woo", ' ').replace("ma", ' ').strip() == '':
            answer += 1
    return answer

https://github.com/kj0on/BaekjoonHub/tree/main/Python3/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/0/120956.%E2%80%85%EC%98%B9%EC%95%8C%EC%9D%B4%E2%80%85%EF%BC%881%EF%BC%89