[CodeUp/Python] Python언어 기초 100제
1.
6006 : [기초-출력] 출력하기06,
6007 : [기초-출력] 출력하기07,
6008 : [기초-출력] 출력하기08
https://codeup.kr/problem.php?id=6006
https://codeup.kr/problem.php?id=6007
https://codeup.kr/problem.php?id=6008
[출력]
"!@#$%^&*()'
"C:\Download\'hello'.py"
print("Hello\nWorld")
print("\"!@#$%^&*()'")
print('"!@#$%^&*()\'')
print("\"C:\\Download\\'hello'.py\"")
print('print("Hello\\nWorld")')
2. 6019 : [기초-입출력] 연월일 입력받아 순서 바꿔 출력하기
https://codeup.kr/problem.php?id=6019
"연도.월.일"을 입력받아 "일-월-연도" 순서로 바꿔 출력해보자.
y,m,d=input().split('.')
print(d,m,y,sep='-')
3. 6022 : [기초-입출력] 연월일 입력받아 나누어 출력하기
https://codeup.kr/problem.php?id=6022
6자리의 연월일(YYMMDD)을 입력받아 나누어 출력해보자.
[0:2]는 0부터 1번째까지 출력
day=input()
print(day[0:2],day[2:4],day[4:6])
3. 6026 : [기초-값변환] 실수 2개 입력받아 합 계산하기
https://codeup.kr/problem.php?id=6026
실수 2개를 입력받아 합을 출력하는 프로그램을 작성해보자.
a=float(input())
b=float(input())
print(a+b)
4. 6028 : [기초-출력변환] 10진 정수 입력받아 16진수로 출력하기2
https://codeup.kr/problem.php?id=6028
10진수를 입력받아 16진수(hexadecimal)로 출력해보자.
n=int(input())
print('%X' %n)
5. 6033 : [기초-산술연산] 문자 1개 입력받아 다음 문자 출력하기
https://codeup.kr/problem.php?id=6033
문자 1개를 입력받아 그 다음 문자를 출력해보자.
- ord: 문자를 이용해서 해당 문자에 해당하는 유니코드 정수 반환
- chr: 숫자를 이용해서 숫자에 해당하는 문자를 반환
s=ord(input())
print(chr(s+1))
6. 6042 : [기초-값변환] 실수 1개 입력받아 소숫점이하 자리 변환하기
https://codeup.kr/problem.php?id=6042
실수 1개를 입력받아 소숫점 이하 두 번째 자리까지의 정확도로 반올림한 값을 출력해보자.
n=float(input())
print(format(n,".2f"))
7.
6046 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기
6047 : [기초-비트시프트연산] 2의 거듭제곱 배로 곱해 출력하기
1. https://codeup.kr/problem.php?id=6046
2. https://codeup.kr/problem.php?id=6047
print(n<<1) #2배
print(n>>1) #1/2배
print(n<<2) #4배
print(n>>2) #1/4배
(a<<b): a를 2^b배 곱한 값
map: map(변환 함수, 순회 가능한 데이터)
n=int(input())
print(n<<1)
#2-1
a,b=input().split()
a=int(a)
b=int(b)
print(a<<b)
#2-2
a, b = map(int, input().split())
c = 2**b
print(a*c)
8. 6051 : [기초-비교연산] 정수 2개 입력받아 비교하기4
https://codeup.kr/problem.php?id=6051
두 정수(a, b)를 입력받아 a의 값이 b의 값과 서로 다르면 True 를, 같으면 False 를 출력하는 프로그램을 작성해보자.
#내 풀이
a,b=input().split()
a=int(a)
b=int(b)
if (a != b):
print("True")
else:
print("False")
#모범답안
a, b = input().split()
a = int(a)
b = int(b)
print(a!=b)
9. 6056 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기
https://codeup.kr/problem.php?id=6056
2개의 정수값이 입력될 때, 그 불 값(True/False) 이 서로 다를 때에만 True 를 출력하는 프로그램을 작성해보자.
a,b=input().split()
a=bool(int(a))
b=bool(int(b))
print((a and (not b)) or ((not a) and b))
10. 6062 : [기초-비트단위논리연산] 비트단위로 XOR 하여 출력하기
https://codeup.kr/problem.php?id=6062
NOT: ~
AND: &
OR: |
XOR: ^
a,b=input().split()
a=int(a)
b=int(b)
print(a^b)
11. 6064 : [기초-3항연산] 정수 3개 입력받아 가장 작은 값 출력하기
https://codeup.kr/problem.php?id=6064
3개의 요소로 이루어지는 3항 연산은 'x if C else y' 의 형태로 작성이 된다.
C: True 또는 False 를 평가할 조건식(conditional expression) 또는 값
x: C의 평가 결과가 True 일 때 사용할 값
y: C의 평가 결과가 True 가 아닐 때 사용할 값
조건식 또는 값이 True 이면 x 값이 사용되고, True가 아니면 y 값이 사용되도록 하는 코드이다.
a,b,c=input().split()
a=int(a)
b=int(b)
c=int(c)
print(((a if(a<b) else b) if ((a if(a<b) else b)<c) else c))
12. 6070 : [기초-조건/선택실행구조] 월 입력받아 계절 출력하기
https://codeup.kr/problem.php?id=6070
월이 입력될 때 계절 이름이 출력되도록 해보자.
season=int(input())
if (season//3==1):
print("spring")
elif (season//3==2):
print("summer")
elif (season//3==3):
print("fall")
else:
print("winter")
13.
6075 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기1
6076 : [기초-반복실행구조] 정수 1개 입력받아 그 수까지 출력하기2
https://codeup.kr/problem.php?id=6075
https://codeup.kr/problem.php?id=6076
#while 사용
n=int(input())
i=0
while i<=n:
print(i)
i+=1
#for 사용
n=int(input())
for i in range(n+1):
print(i)
14. 6086 : [기초-종합] 거기까지! 이제 그만~
https://codeup.kr/problem.php?id=6086
1, 2, 3 ... 을 순서대로 계속 더해 합을 만드는데, 그 합이 입력한 정수보다 작을 동안만 계속 더하는 프로그램을 작성해보자.
n=int(input())
s=0
i=0
while(s<n):
s+=i
i+=1
print(s)
15. 6090 : [기초-종합] 수 나열하기3
https://codeup.kr/problem.php?id=6090
시작 값(a), 곱할 값(m), 더할 값(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때, n번째 수를 출력하는 프로그램을 만들어보자.
a,m,d,n=input().split()
a=int(a)
m=int(m)
d=int(d)
n=int(n)
for i in range(n-1):
a=a*m+d
print(a)
16. 6092 : [기초-리스트] 이상한 출석 번호 부르기1
https://codeup.kr/problem.php?id=6092
n = int(input()) #개수를 입력받아 n에 정수로 저장
a = input().split() #공백을 기준으로 잘라 a에 순서대로 저장
for i in range(n) : #0부터 n-1까지...
a[i] = int(a[i]) #a에 순서대로 저장되어있는 각 값을 정수로 변환해 다시 저장
d = [] #d라는 이름의 빈 리스트 [ ] 변수를 만듦. 대괄호 기호 [ ] 를 사용한다.
for i in range(24) : #[0, 0, 0, ... , 0, 0, 0] 과 같이 24개의 정수 값 0을 추가해 넣음
d.append(0) #각 값은 d[0], d[1], d[2], ... , d[22], d[23] 으로 값을 읽고 저장할 수 있음.
for i in range(n) : #번호를 부를 때마다, 그 번호에 대한 카운트 1씩 증가
d[a[i]] += 1
for i in range(1, 24) : #카운트한 값을 공백을 두고 출력
print(d[i], end=' ')
range(시작, 끝, 증감) #시작 수는 포함, 끝 수는 포함하지 않음. [시작, 끝)
range(n-1, -1, -1) #n-1, n-2, ..., 3, 2, 1, 0
n = int(input())
a = input().split()
for i in range(n) :
a[i] = int(a[i])
d = []
for i in range(24) :
d.append(0)
for i in range(n) :
d[a[i]] += 1
for i in range(1, 24) :
print(d[i], end=' '