www.acmicpc.net/step/1

 

 

 

 

 

1. 문제 1000번

 

두 정수 A와 B를 입력받아

A+B를 출력하는 프로그램 작성하기

 

 

 

 

 

 

 

방법 1)

 

 

 

 

사용자 입력을 받아야 하기 때문에

input 함수를 사용해야 하고

 

 

A 와 B를 각각 공백으로 구분하여

입력할 것이기에.split 함수를 더해준다.

 

 

이제 위 두 가지 함수를 특정 변수에 담아 준다.

난 변수 명을 input_data로 할 것.

 

 

위 내용들을 코드로 적어보면

input_data = input( ).split( )

가 된다.

 

 

다음으로는 사용자가 입력할 숫자를 받을

각기 다른 변수 A 와 B를 만들어 주고

이 두 변수들을 설정해 주어야 하는데

 

 

먼저 코드를 보자.

 

 

 

A = input_data [0]

B = input_data [1]

 

 

 

각각 처음 만든 input_data 변수에

배열 형태로 값이 입력되도록

설정되었고

 

 

이제 print(A+B)를 해주게 되면

사용자가 입력할 두 개의 값을

더해주어 출력하게 되는데

 

 

여기서 주의할 점이 있다.

우리는 숫자 연산을 해야 하는데

input 함수는 문자열 데이터라는 것!

 

 

그러니 반드시 문자열을 숫자(int)로

변환해 주고 코드를 작성해야 한다.

 

 

전체 코드는 다음과 같다.

 

 

 

input_data = input().split()

A = input_data[0]

B = input_data[1]

print ( A + B )

 

 

 

 

*하지만 정답 제출 시

런타임 오류가 나버리고 만다.

 

 

원인은 아래 글을 참조!

https://www.acmicpc.net/board/view/23037

 

 

 

 

 

 


 

 

 

 

방법 2)

 

 

 

 

map 함수를 이용하면

코드가 더욱 간결해진다.

 

 

map함수란 리스트의 요소를

저장된 함수로 처리해 주는 함수.

 

 

 

 

 

풀이)

 

 

지금 사용할 함수는 input 함수이며

 

 

문자열을 공백으로 구분하여

list로 만들어야 하기에 split 함수를 사용,

 

 

마지막으로 list 내 요소(원소, element)들을

int(정수) 형으로 변환시켜 주고

 

 

그렇게 바꾼 list를

각각 a 와 b의 변수에 담는다.

 

 

 

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

print (a + b)

 

 

 

 

 

 

 

 

연산과 관련된 문제는

map을 사용해 주자!

 

 

 


 

 

 

 

 

2. 이와 같은 방법으로 

 

 

1001번 ( a - b ) 

10998 번 ( a x b )

1008 번 ( a / b )

10869 번 ( 사칙연산 ) 

10430 번 ( 나머지 )

 

 

 

을 풀 수 있다.

 

 

 

10430번의 경우 괄호가

헷갈릴 수 있으니 주의하자.

 

 

 

 

10430 정답 코드

 

 

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)

 

 

 

 


 

 

3. 마지막 2588번 곱셈

 

 

 

A = int(input())

B = input()

 

A2 = A * int(B[2])

A1 = A * int(B[1])

A0 = A * int(B[0])

S = A * int(B)

 

print( A2, A1, A0, S, sep='\n')

 

 

 

 

728x90
반응형

+ Recent posts