본문 바로가기
백준 문제풀이

백준 - 입출력과 사칙연산 단계

by winston1214 2020. 7. 14.
반응형

코딩 테스트를 준비하기 위해 백준을 시작하기로 했다.

 

내 생각으로 코딩 실력이 약간 부족한거라 생각하여 코딩테스트 준비를 빠르게 시작해보았다.

그리고 가장 쉬운 부분인 입출력과 사칙연산 단계부터 시작해보겠다.

아예 처음부터 해보겠다.

acmicpc.net/problem/2557

 

2557번: Hello World

Hello World!를 출력하시오.

www.acmicpc.net

print("Hello World!")

https://www.acmicpc.net/problem/10718

 

10718번: We love kriii

ACM-ICPC 인터넷 예선, Regional, 그리고 World Finals까지 이미 2회씩 진출해버린 kriii는 미련을 버리지 못하고 왠지 모르게 올 해에도 파주 World Finals 준비 캠프에 참여했다. 대회를 뜰 줄 모르는 지박

www.acmicpc.net

print("강한친구 대한육군")
print("강한친구 대한육군")

https://www.acmicpc.net/problem/10171

 

10171번: 고양이

문제 아래 예제와 같이 고양이를 출력하시오. 입력 출력 고양이를 출력한다. 예제 입력 1 복사 예제 출력 1 복사 \ /\ ) ( ') ( / ) \(__)|...

www.acmicpc.net

 

print("\    /\\")
print(" )  ( ')")
print("(  /  )")
print(" \(__)|")

print시에 '\' 는 escape 코드이므로 이를 입력할 시에 두번 입력해주어야한다.

https://www.acmicpc.net/problem/10172

 

10172번: 개

문제 아래 예제와 같이 개를 출력하시오. 입력 출력 예제 입력 1 복사 예제 출력 1 복사 |\_/| |q p| /} ( 0 )"""\ |"^"` | ||_/=\\__|...

www.acmicpc.net

 

print('|\_/|')
print('|q p|   /}')
print('( 0 )"""\\')
print('|"^"`    |')
print('||_/=\\\__|')

https://www.acmicpc.net/problem/1000

 

1000번: A+B

문제 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 복사 1 2 예제 출력 1 복사

www.acmicpc.net

a,b= map(int,input().split())
print(a+b)

int type의 수를 입력 받는다. 이 때 두 수를 입력해야하는데 split()으로 띄어쓰기로 구분하여 각각 a와 b에 할당한다.

https://www.acmicpc.net/problem/1001

 

1001번: A-B

두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

a,b = map(int,input().split())
print(a-b)

https://www.acmicpc.net/problem/10998

 

10998번: A×B

두 정수 A와 B를 입력받은 다음, A×B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

a,b = map(int,input().split())
print(a*b)

https://www.acmicpc.net/problem/1008

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

a,b = map(int,input().split())
print(a/b)

https://www.acmicpc.net/problem/10869

 

10869번: 사칙연산

두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

www.acmicpc.net

a,b = map(int,input().split())
print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)

https://www.acmicpc.net/problem/10430

 

10430번: 나머지

첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000)

www.acmicpc.net

a,b,c = map(int,input().split())
print((a+b)%c)
print(((a%c) + (b%c))%c)
print((a*b)%c)
print(((a%c) * (b%c))%c)

https://www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

a=int(input())
b=int(input())
b=list(str(b))
result=0
num=0
for i in range(len(b)-1,-1,-1):
    print(a*int(b[i]))
    result += (10**(num))*(a*int(b[i]))
    num+=1
print(result)

나는 이 문제를 조금 더 섹시하게 푼다기 보단 내가 자주 사용하는 방법을 통해 구현하였다. 더 좋은 코드가 있지만 주로 사용하는 방법으로 한 번 작성해보았다. 나만의 특징은 num 함수이다. 나는 보통 range 부분에 zip 함수가 들어가 있어서 더 이상 in 문 안에 변수를 추가하지 못할 때 전역변수를 선언해주고 그 함수가 하나씩 증가하는 것으로 구현하였다.

이 코드도 마찬가지 방법으로 range가 흘러가는 방향과 다르기 때문에 num이라는 변수를 사용해서 하나씩 증가하며 반복되는 코드를 짰다.

 

반응형

'백준 문제풀이' 카테고리의 다른 글

baekjoon - python - 1026  (0) 2020.08.21
baekjoon - python - 1008  (0) 2020.08.21
baekjoon - python - 1001  (0) 2020.08.21
baekjoon - python -1000  (0) 2020.08.21
if 문  (0) 2020.07.15

댓글