알고리즘 공부를 위해 코드업 사이트(https://codeup.kr/)의 기초 100제를 시작합니다.
블로그에 올라온 모든 코드는 파이썬(Python)으로 작성되어 있습니다.
Python의 기초 100제를 확인하기 위해서는 다음 사이트로 이동하면 됩니다.
https://codeup.kr/problemsetsol.php?psid=33
문제집 / Python 기초 100제
codeup.kr
6076 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기2(설명)(py)
정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 출력해보자.
▷ 참고
range(n) 은 0, 1, 2, ... , n-2, n-1 까지의 수열을 의미한다.
예를 들어 range(3) 은 0, 1, 2 인 수열을 의미한다.
for i in range(n) : #range(n)에 들어있는(in) 각각의 수에 대해서(for) 순서대로 i에 저장해 가면서...
이때의 for는 각각의 값에 대하여... 라는 for each 의 의미를 가진다고 생각할 수 있다.
range(끝)
range(시작, 끝)
range(시작, 끝, 증감)
형태로 수열을 표현할 수 있다. 시작 수는 포함이고, 끝 수는 포함되지 않는다. [시작, 끝)
증감할 수를 작성하지 않으면 +1이 된다.
반복 실행구조에 반복 횟수를 기록/저장하는 변수로 i를 자주 사용하는데,
i 는 반복자(iterator)를 나타내는 i라고 생각할 수 있다. i, j, k ... 알파벳 순으로 사용하기도 한다.
▷ 해설
while문 외에도 반복문이 있다.
for문을 이용하기 위해선 수열이 필요한데 이때 수열을 생성하는 함수가 range이다.
순차적으로 값을 넣어보는 대부분의 경우 for문을 사용한다. for문에서는 현재 반복횟수를 저장하는 변수가 존재한다.
n = int(input())
for i in range(0, n+1):
print(i)
6077 : [기초-종합] 짝수 합 구하기(설명)(py)
정수(1 ~ 100) 1개를 입력받아 1부터 그 수까지 짝수의 합을 구해보자.
▷ 참고
while 이나 for 반복실행구조를 이용할 수 있다.
다른 방법이나 while 반복실행구조를 이용해서도 성공시켜 보자.
▷ 해설
for문을 사용할 수 있으면 while문도 사용이 가능하다.
다음문제에서는 for문을 while문으로 바꿨을 때 달라진 점을 확인해보자.
n = int(input())
sum = 0
for i in range(1, n+1):
if i % 2 == 0:
sum = sum + i
print(sum)
n = int(input())
i = 1
sum = 0
while i < n+1:
if i % 2 == 0:
sum = sum + i
i = i+1
print(sum)
6078 : [기초-종합] 원하는 문자가 입력될 때까지 반복 출력하기(py)
영문 소문자 'q'가 입력될 때까지
입력한 문자를 계속 출력하는 프로그램을 작성해보자.
▷ 해설
while문을 이용해 계속 값을 입력 받다가 특정 값이 오면 출력한 후 while문을 빠져나오는 코드를 작성하면 된다.
이처럼 while문은 끝을 모르는 반복을 할 때 주로 사용된다.
while True:
c = input()
print(c)
if c == 'q':
break
6079 : [기초-종합] 언제까지 더해야 할까?(py)
1, 2, 3 ... 을 계속 더해 나갈 때,
그 합이 입력한 정수(0 ~ 1000)보다 같거나 작을 때까지만
계속 더하는 프로그램을 작성해보자.
즉, 1부터 n까지 정수를 계속 더해 나간다고 할 때,
어디까지 더해야 입력한 수보다 같거나 커지는 지를 알아보고자하는 문제이다.
▷ 해설
입력 받은 값이 55일 경우 1부터 10까지 더하게 되면 55보다 크거나 같아지게 되므로 최종 출력 값은 10이 된다.
sum에서는 1부터 값을 더하며 n보다 크거나 같아질때를 if문으로 확인하는 코드를 작성하면 된다.
n = int(input())
i = 1
sum = 0
while True:
sum = sum+i
if sum >= n:
break
i = i + 1
print(i)
6080 : [기초-종합] 주사위 2개 던지기(설명)(py)
1부터 n까지, 1부터 m까지 숫자가 적힌 서로 다른 주사위 2개를 던졌을 때,
나올 수 있는 모든 경우를 출력해보자.
▷ 참고
바깥쪽의 i 값이 1부터 n까지 순서대로 바뀌는 각각의 동안에
안쪽의 j 값이 다시 1부터 m까지 변하며 출력되는 코드이다.
조건선택 실행구조 안에 다른 조건선택 실행구조를 넣어 처리할 수 있는 것과 마찬가지로
반복 실행구조 안에 다른 반복 실행구조를 넣어 처리할 수 있다.
원하는 형태로 실행 구조를 결합하거나 중첩시킬 수 있다.
▷ 해설
두 주사위로 나올 수 있는 모든 경우의 수를 출력해야한다.
i 주사위가 1일때 j의 모든 값을 한번씩 출력하는 동작을 i의 숫자까지 반복하면 된다.
n, m = input().split()
for i in range(1, int(n)+1):
for j in range(1, int(m)+1):
print("%d %d"%(i, j))
'공부' 카테고리의 다른 글
코드업 파이썬(Python) 기초 100제 - 6086번 ~ 6090번 (0) | 2021.06.29 |
---|---|
코드업 파이썬(Python) 기초 100제 - 6081번 ~ 6085번 (0) | 2021.06.29 |
코드업 파이썬(Python) 기초 100제 - 6071번 ~ 6075번 (0) | 2021.06.19 |
코드업 파이썬(Python) 기초 100제 - 6066번 ~ 6070번 (0) | 2021.06.18 |
코드업 파이썬(Python) 기초 100제 - 6061번 ~ 6065번 (0) | 2021.06.18 |