[SWEA / 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복
Algorithm

[SWEA / 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복

6230. 점수

6230. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 1

 

문제

다음의 결과와 같이 5명의 학생의 점수에 대해 60 이상일 때 합격 메시지를 출력하고,

60미만일 때 불합격 메시지를 출력하는 프로그램을 만드십시오.

(출처 : https://swexpertacademy.com/)

 

출력

1번 학생은 88점으로 합격입니다.

2번 학생은 30점으로 불합격입니다.

3번 학생은 61점으로 합격입니다.

4번 학생은 55점으로 불합격입니다.

5번 학생은 95점으로 합격입니다.

 

lst = [88, 30, 61, 55, 95]
num = 1

for i in lst:
    if i >= 60:
        print("%d번 학생은 %d점으로 합격입니다." % (num, i))
    else:
        print("%d번 학생은 %d점으로 불합격입니다." % (num, i))
    num += 1

 

 


6231. for / range

6231. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 2

 

문제

1부터 100까지의 숫자를 for 문과 range 함수를 이용해 출력하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

1

2

3

4

5

...

99

100

for i in range(1, 101):
    print(i)

 

 


6234. 짝수

6234. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 3

 

문제

1부터 100사이의 숫자 중 짝수를 for 문을 이용해 다음과 같이 출력하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

2 4 6 8 10 12 14 16 18 ... 90 92 94 96 98 100

for i in range(2, 101, 2):
    print(i, end = ' ')

 

 


6238. 홀수

6238. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 4

 

문제

1부터 100사이의 숫자 중 홀수를 for 문을 이용해 다음과 같이 출력하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

1, 3, 5, 7, 9, ... 95, 97, 99

 

result = ""
for i in range(1, 101, 2):
    result += str(i) + ", "
print(result[:-2])

날먹을 많이해서, 이번에는 str로 변수를 저장한 뒤 맨 뒤 콤마(,)와 공백문자를 제거했다. 🙄🙄

 

 


6240. 3의 배수

6240. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 5

 

문제

1부터 100사이의 숫자 중 3의 배수의 총합을 for 문을 이용해 출력하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

1부터 100사이의 숫자 중 3의 배수의 총합: 1683

num = 0
for i in range(3, 101, 3):
    num += i
print("1부터 100사이의 숫자 중 3의 배수의 총합: %d" % num)

 

 


6242. 혈액형 별 학생 수

6242. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 6

 

문제

다음은 10명의 학생들의 혈액형(A, B, AB, O) 데이터입니다.

['A', 'A', 'A', 'O', 'B', 'B', 'O', 'AB', 'AB', 'O']

for 문을 이용하여 각 혈액형 별 학생수를 구하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

{'A': 3, 'O': 3, 'B': 2, 'AB': 2}

lst = ['A', 'A', 'A', 'O', 'B', 'B', 'O', 'AB', 'AB', 'O']
dic = {}

for i in lst:
    if i in dic.keys():
        dic[i] += 1
    else:
        dic[i] = 1

print(dic)

 

 


6244. 80점 이상 점수 총합

6244. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 7

 

문제

다음은 학생의 점수를 나타내는 리스트입니다.

[85, 65, 77, 83, 75, 22, 98, 88, 38, 100]

while 문과 리스트 객체의 pop()을 이용해 80점 이상의 점수들의 총합을 구하시오.

(출처 : https://swexpertacademy.com/)

 

출력

454

lst = [85, 65, 77, 83, 75, 22, 98, 88, 38, 100]
num = 0

while len(lst) > 0:
    i = lst.pop()
    if i >= 80:
        num += i

print(num)

 

 


6246. 별 다섯개

6246. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 8

 

문제

while문을 이용해 아래와 같이 별(*)을 표시하는 프로그램을 만드십시오.

(출처 : https://swexpertacademy.com/)

 

출력

*****

****

***

**

*

i = 5
while i > 0:
    print('*' * i)
    i -= 1

 

 


6247. 별 일곱개

6247. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 9

 

문제

while문을 이용해 아래와 같이 별(*)을 표시하는 프로그램을 만드십시오.

(출처 : https://swexpertacademy.com/)

 

출력

*******

 *****

  ***

   *

i = 7

while i > 0:
    print("{0: ^7}".format('*' * i))
    i -= 2

 

 


6249. 숫자 사용 빈도

6249. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 10

 

문제

다음의 결과와 같이 어떤 한 양의 정수를 입력하여 그 숫자에 0~9가 몇 번 사용되었는지 표시하십시오.

(출처 : https://swexpertacademy.com/)

 

입력

11

 

출력

0 1 2 3 4 5 6 7 8 9

0 2 0 0 0 0 0 0 0 0

 

 

풀이1

i = int(input())
lst = [0] * 10

while i > 0:
    lst[i % 10] += 1
    i = i // 10

for j in range(10):
    if j == 9: print(j)
    else:
        print(j, end = ' ')
for k in range(len(lst)):
    if k == len(lst) - 1:
        print(lst[k], end = '')
    else:
        print(lst[k], end = ' ')

풀이2

i = int(input())
lst = [0] * 10

while i > 0:
    lst[i % 10] += 1
    i = i // 10

print(' '.join(map(str, [i for i in range(10)])))
print(' '.join(map(str, lst)))

 

 


6251. 별 하나

6251. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 11

 

문제

for문을 이용해 아래와 같이 별(*)을 표시하는 프로그램을 만드십시오.

(출처 : https://swexpertacademy.com/)

 

출력

    *

   **

  ***

 ****

*****

for i in range(1, 6):
    print("{0:>5}".format('*' * i))

 

 


6253. 2진수

6253. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 7. 흐름과 제어 - 반복 13

 

문제

다음의 결과와 같이 10진수를 2진수로 변환하는 프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

입력

9

 

출력

1001

i = int(input())
print(format(i, 'b'))