Python/코딩테스트21 배열 - 배열채우기 문제 :10개의 정수 저장할 수 있는 배열선언 후, 10개의 정수를 차례로 받음. 만약 중간에 0이 입력되면 10개 입력이끝나지 않더라도 입력을 종료함. 그 후 입력된 정수를 가장 나중에 입력된 정수부터 차례대로 출력하는 프로그램을 작성해라. 단, 처음부터 0이 주어지는 경우는 고려하지 않아도 됨. ex) 3 1 13 5 83 0 83 5 13 1 3 1) 첫번째 행을 리스트로 받기 2) 0이 입력되기 전까지의 값들을 받을 빈 리스트 생성 3) for문으로 리스트 값 하나하나를 0인지 또는 전체 입력의 갯수가 10개인지확인 4) 2)에서 생성한 리스트에 append 하여 값을 대입 5) 2)에서 생성한 리스트를 slicing을 이용해 [::-1]로 뒤집어서 출력 arr = list(map(int, inp.. 2025. 3. 4. 배열 - 학점계산기 과목 수 N이 첫번째 줄에 정수로 주어지고 두 번째 줄에는 N개의 과목 학점을 공백을 사이에 두고 입력받음 10과목 학점들의 평균이 4.0이상이면 Perfect, 3.0이상이면 Good, 3.0미만이면 Poor를 출력하라. 단, 첫번째 줄에는 평균학점을 반올림하여 소수 첫째 자리까지 출력을, 두번째 줄에는 평균 학점에 해당하는 등급을 출력해라. ex) 입력 4 3.0 2.8 4.0 3.5 출력 3.3 Good * 소숫점을 print 할 때 다르게 표기하고 싶다면 print(f"{sum_val} {avg :.1f}") 처럼 : . 1f를 {}안에 입력해줘야한다.(단, .1앞에 띄어쓰기가 안오도록 주의)> 이때 avg 변수는 소숫점 1자리까지만 보여준다. * sum() : 리스트 안의 원소의 합은 sum.. 2025. 3. 4. 배열 - 특정 수 도달하기 문제 :500이하의 정수가 총 10번주어짐. 250이상의 정수가 주어지면 마지막으로 주어진 수 제외하고 주어진 모든 정수들의 합계와 평균을 구하는 프로그램을 작성해라. 단, 250 이상의 정수가 없다면 10개의 합계와 평균을 계산해야함. ex) 4 10 37 53 88 260 67 88 500 400 출력 : 192 38.4 1) 한줄에 입력되는 입력값이 총 10개이므로 10개 초과되어 input되지 않음. 2) for문이 이 입력문을 순회하면서 250보다 작은지 아닌지 확인 > 250보다 클 경우, 그 값이 나오기 전까지 값들을 모두 합해야하고, 그 값들의 갯수 또한 구해야함. > 여기서 값들의 갯수는 for문의 순회 갯수와 같음 > 따라서 누적합이 만들어지는 변수하나와 누적 갯수가 만들어지는 변수를.. 2025. 3. 4. 배열 - 기본 개념(리스트 slicing/append/pop/len) * 한 줄에 값들이 1 2 3 4 있는경우, 이를 arr = input().split() 으로 배열형태로 만들 수 있다. > 이를 for문으로 순회하며 arr 자릿수를 하나씩 sum_val에 더하는 형식으로 리스트 값들을 다 더할 수 있다. * arr = list(map(int, input().split())) 하면 input으로 가져온 배열을 리스트화할 수 이다. * n, m = tuple(map(int, input().split())) 하면 n, m에 각 숫자를 나눠 할당할 수 있다 > 또는 map(int, input().split()) * list에 있는 원소를 순차적으로 탐색하는 코드는 다음과 같은 내이밍의 개형작성이된다.arr = [1, 2]for elem in arr: print(ele.. 2025. 3. 4. 다중반복문 - 소수 구하기(bloon 변수활용) N이 주어질때, 1이상 N이하의 소수를 오름차순으로 출력하는 프로그램을 작성해라 1. 1부터 N이하의 값들 하나하나를 2부터 n까지의 각 숫자들을 나누어 나머지가 0인 값이 있다면 -> 소수가 아님 없다면 -> 소수임. 2. is_prime이라는 bool type 변수를 만들어 초기값을 True, 단 한번이라도 나누어 떨어지는 순간에 is_prime값을 false로 설정해줌. 이를 통해 1부터 n사이의 소수를 전부 구할 수 있게 된다. * 단 한번이상 나타날때 bloon 변수를 활용해주는 것이 좋다.# 변수 선언 및 입력n = int(input()) # 1부터 n까지 소수를 구합니다.for i in range(1, n + 1): if i == 1: continue isprime = .. 2025. 3. 4. 다중반복문 - 완전 수 어떤 수 n의 완전수 구해라 (진약수 : n을 나누어 떨어지게 하는 양수 중에서 n이 아닌 수. 이때 n의 진약수의 총합이 n과 같다면, n을 완전수라고 합니다.) 예로, 28의 진약수는 1,2,4,7,14이고 이들의 합은 28이므로, 28은 완전수이다. 문제: 두 정수 start, end가 주어진다. start이상 end이하인 완전수의 갯수를 세는 프로그램을 작성해라. 1. start이상 end까지의 정수를 순회하며 각 숫자의 약수의 합을 계산 2. 특정 숫자 n의 (자기 자신을 제외한) 약수의 합을 알아내기 위해 1부터 n-1까지의 숫자들로 n을 나눠보며 나머지가 0인 수들을 구한다. 3. 2에서 구한 수들의 합을 계산한다. 4. 조건문을 주어 약수의 합이 n이면 정답 갯수를 1 증가 시켜준다. s.. 2025. 3. 4. 이전 1 2 3 4 다음