코딩테스트 공부 44

백준 [Python] 3052번: 나머지

문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. ✨풀이과정 1 2 3 4 5 6 7 a = [] b = [] for i in range(10): a.append(int(input())) b.append(a[i] % 42) b = set(b) # 중복 ..

백준 [Python] 2577번: 숫자의 개수

문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 입력 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. 출력 첫째 줄에는 A × B × C의 결과에 0 이 몇 번 쓰였는지 출력한다. 마찬가지로 둘째 줄부터 열 번째 줄까지 A × B × C의 결과에 1부터 9까지의 숫자가 각각..

백준 [Python] 1110번: 더하기 사이클

문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다. 새로운 수는 68이다. 6+8 = 14이다. 새로운 수는 84이다. 8+4 = 12이다. 새로운 수는 42이다. 4+2 = 6이다. 새로운 수는 26이다. 위의 예는 4번만에 원래 수로 돌아올 수 있다. 따라서 26의 사이클의 길이는 4이다. N이 주어졌을 때, N의 사이클의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 ..

백준 [Python] 10951번: A+B - 4

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 각 테스트 케이스마다 A+B를 출력한다. 예제 입력 1 1 2 3 3 4 9 8 5 2 예제 출력 2 5 7 17 7 ✨ 풀이 1 2 3 4 5 6 while True: try: A, B = map(int,input().split()) print(A+B) except: break cs ✔ try - except문을 이용해서 풀어야함 - 그냥 while문만 쓸 경우 런타임 에러 발생 10951번: A+B - 4 두 정수 A와 B를 입력받은 다음, A+B를 출력하..

백준 [Python] 2439번: 별 찍기 - 2

문제 첫째 줄에는 별 1개, 둘째 줄에는 별 2개, N번째 줄에는 별 N개를 찍는 문제 하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오. 입력 첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. 예제 입력 5 예제 출력 * ** *** **** ***** ✨풀이(1) - 내가 푼 방식 1 2 3 N = int(input()) for i in range(1,N+1): print(" "*(N-i)+"*"*i) cs - 별(*)이 오른쪽 정렬 상태로 출력되어야 하기 때문에, 먼저 왼쪽에 공백을 주고 별을 출력하는 방식을 생각했다. ✔ print(" "*(N-i), "*"*i) 형식은 오류발생 ✨풀이(2) - format 1 2 3 int(i..

프로그래머스 [Python] 신규 아이디 추천

문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다. 다음은 카카오 아이디의 규칙입니다. [문제] 신규 유저가 입력한 아이디를 나타내는 new_id가 매개변수로 주어질 때, "네오"가 설계한 7단계의 처리 과정을 거친 후의 추천 아이디를 return 하도록 solution 함수를 완성해 주세요. [조건] 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자..

프로그래머스 [Python] 크레인 인형뽑기 게임

문제 설명 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다. "죠르디"는 게임의 재미를 높이기 위해 화면 구성과 규칙을 다음과 같이 게임 로직에 반영하려고 합니다. 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. (위 그림은 "5 x 5" 크기의 예시입니다). 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인형을 집어 올릴 수 있습니다. 집어 올린 인형은 바구니에 쌓이게 되는 데,..

백준 [Python] 2753번 : 윤년

✨ 코드 1 2 3 4 5 year = int(input()) if (year%4==0 and year%100!=0) or year%400==0: print("1") else : print("0") Colored by Color Scripter cs ✔ 문제 포인트 1. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 2. 따라서 year 변수에 input() 함수로 값을 입력받고, int()함수를 사용하여 문자형 값을 정수형으로 형변환한 후, 나머지 연산자(%)이용해서 배수를 표현한다. 3. '4의 배수이면서, 100의 배수가 아닐 때'라는 문장은 두 가지 조건을 만족해야 하므로 연산자 and 사용, '또는 400의 배수'라는 문장은 연산자 or을 사용한다. 27..

백준 [Python] 9498번 : 시험 성적

✨ 코드 1 2 3 4 5 6 7 8 9 10 11 score = int(input()) if score >= 90: print("A") elif score >= 80: print("B") elif score >= 70: print("C") elif score >= 60: print("D") else : print("F") cs ✔ 문제 포인트 1. if - elif - else 조건식 ▶ 시험 점수에 따른 등급은 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F이다. 이 때 A ~ D등급까지는 각 조건이 True인 경우에 그에 해당하는 값을 출력한다. 이 때는 if 조건식과 여러 개의 elif 조건식으로 코드를 작성할 수 있다. F등급은 위..

728x90