Python/Baekjoon

[Python / Baekjoon] 1단계 입출력과 사칙연산 알고리즘 문제 풀이 (2557, 1000, 1001, 10998, 1008, 10869, 10926, 18108, 10430, 2588, 11382, 10171, 10172)

Sukyung Jang 2023. 4. 15. 21:51

 

백준 1단계 입출력과 사칙연산 풀이를 하였습니다.

 

# 2557 Hello World

  • 2557번 문제는 Hello Wordl!를 출력하는 문제입니다.
print("Hello World!")

 

print() 함수를 사용하여 "Hello Wordl!"를 출력하였습니다.

 

도전 3번만에 맞췄습니다. 대, 소문자로 한 번 틀리고 느낌표를 넣지 않아서 한 번 틀렸습니다.

 

# 1000 A+B

  • 1000번 문제는 정수 A와 B를 입력받아 더하여 출력하는 문제입니다.
A, B = map(int, input().split()) # 입력 방식: 1 2
print(A+B)

저는 map() 함수를 사용하여 입력하는 값에 int형을 부여했습니다.

그리고 input() 함수로 입력값을 받은 뒤

split() 함수를 사용하여 공백을 기준으로 구분하여 A, B에 저장했습니다.

그 다음 print() 함수로 출력했습니다.

 

  • map (function, iterable, *iterables)

- iterable 모든 항목에 함수를 적용하여 결과를 생성해서 반환하는 함수입니다.

- iterable은 파이썬에서 반복 가능한 객체를 의미합니다. (ex : list, tuple, set, dictionary)

  • str.split([sep[,maxsplit]])

- 문자열에서 구분자 문자열로 구분된 단어의 리스트를 반환합니다.

  • input(prompt)

- 입력에서 한 줄을 읽고 문자열을 변환한 후(마지막 줄바꿈 문자 제거), 그것을 반환합니다.

- prompt는 컴퓨터 프로그램에서 사용자에게 입력을 요청하는 메세지를 말합니다.

 

이번에는 다행히도 한 번에 맞췄네요.

 

# 1001 A-B

  • 1001번 문제는 1000번 문제와 동일한 방식이지만 뺄셈하여 출력하는 문제입니다.
A, B = map(int,input().split())
print(A-B)

1000번 문제와 동일한 방식으로 풀었습니다.

 

1000번과 동일한 방식이기에 한 번에 맞췄습니다.

 

# 10998 AxB

  • 위 문제들과 동일한 방식으로 곱셈을 출력하는 문제입니다.
A, B = map(int,input().split())
print(A*B)

위 문제들과 동일한 방식으로 풀었습니다.

 

문제 역시 한 번에 맞췄습니다.

 

# 1008 A/B

  • 동일한 방식으로 나눗셈을 출력하는 문제입니다.
A, B = map(int,input().split())
print(A / B)

방법 역시 위와 같은 방법을 사용하여 풀었습니다.

 

문제도 한 번에 맞췄습니다.

 

# 10869 사칙연산

  • 자연수 A, B를 입력하면 덧셈, 뺄셈, 곱셈, 몫, 나머지를 출력하는 문제입니다.
A, B = map(int,input().split())
print(A+B)
print(A-B)
print(A*B)
print(A//B) # 몫
print(A%B) # 나머지

위와 값은 방식으로 진행했습니다.

 

처음에 나머지 연산도 해서 틀렸습니다. 제가 문제를 제대로 못 읽었네요.

 

# 10926 ??!

  • 입력값에 ??!를 붙여서 출력하는 문제입니다.
name = input()
print(name + "??!")

입력한 정보를 name 변수에 저장시킨 후 +를 사용해 "??!"를 더했습니다.

 

문제는 한 번에 맞췄습니다.

 

# 18108 1998년생인 내가 태국에서는 2541년?!

  • 불기 연도를 입력하면 서기 연도로 바꿔서 출력하는 문제입니다.
year = int(input())
print(year - 543)

입력값을 int형으로 변환시킨 후 year 변수에 저장했습니다.

불기 연도와 서기 연도의 차이가 543년이 차이나기 때문에 543을 뺐습니다.

 

문제도 한 번에 맞추었습니다.

 

# 10430 나머지

  • 숫자 A, B, C로 (A+B)%C, ((A%C) + (B+C))%C, (A*B)%C, ((A%C) * (B%C))%C를 출력하는 문제입니다.
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)

A, B, C에 정수를 부여한 후 각 연산을 하여 출력했습니다.

 

정답은 한 번에 맞췄습니다.

 

# 2588 곱셈

  • 세자리수 * 세자리수 연산 과정과 결과를 출력하는 문제입니다.
a = input()
b = input()
print(int(a)*int(b[2]))
print(int(a)*int(b[1]))
print(int(a)*int(b[0]))
print(int(a)*int(b))

a와 b에 입력값을 받은 뒤 indexing하여 곱셈 연산을 해서 출력했습니다.

 

문제는 한 번에 맞췄습니다.

 

# 11382 꼬마 정민

  • 정수 A, B, C를 입력한 후 세 수를 더해 출력하는 문제입니다.
A, B, C = map(int, input().split())
print(A+B+C)

푸는 방식은 위의 1000번 문제와 동일합니다.

 

한 번에 맞췄습니다.

 

# 10171 고양이

  • 특수기호로 고양이를 출력하는 문제입니다.
print("""\\    /\\
 )  ( ')
(  /  )
 \\(__)|""")

문제의 출력값을 그대로 복사하여 붙여넣기했습니다.

그 후 역슬래쉬 문자에 escape sequence를 넣어 출력하였습니다.

  • escape sequence (이스케이프 시퀀스, 문자, 탈출 시퀀스, 문자)

- 역슬래쉬  다음에 오는 문자의 조합으로 구성됨

- 문자열 리터럴에서 특정한 문자를 나타낼 수 있음

 

처음에는 escape sequence를 생각 못해서 틀리고,

두 번째는 사이에 있는 작은 따옴표를 생각 못해서 틀렸습니다.

 

# 10172 개

  • 특수기호로 개를 출력하는 문제입니다.
print('''|\_/|
|q p|   /}
( 0 )"""\\
|"^"`    |
||_/=\\\\__|''')

위 10171문제와 동일한 방식으로 풀었습니다.

 

10171 문제로 교훈을 얻고 한 번에 맞췄습니다.

 

지금까지 1단계 입출력과 사칙연산에 있는 13문제를 풀어봤습니다.

제가 정답을 맞추는 과정을 기록하는 글입니다.