[Python] 백준 알고리즘 1단계
0. 백준 알고리즘
알고리즘 공부를 다시 시작하면서 프론트엔드를 가고싶다 생각은 들었지만
아직 작성은 파이썬이 더 쉽기 때문에 1~12 단계를 파이썬으로 한번씩 다 작성한 뒤,
자바스크립트로 재작성하는 것이 목표.
1단계 입출력과 사칙연산
2557 Hello World
print("Hello World!")
print( "문자" ) 형태로 따옴표
로 감싸 문자열을 출력한다.
10718 We love kriii
print("강한친구 대한육군")
print("강한친구 대한육군")
print("") 형식은 한줄로 입력하며 같은 내용을 입력시 2줄로 작성 가능하다.
print("강한친구 대한육군\n강한친구 대한육군")
이스케이프 코드
를 활용하여 위와 같은 방식으로 작성가능.
이스케이프 코드
\n : 줄바꿈
\t : tap 넘김
\b : 백스페이스
\0 : 공백 (null값)
\ : (역슬래시) 출력
\' : ' 출력
10171 고양이
\ /\
) ( ')
( / )
\(__)|
print("\\ /\\ ")
print(" ) ( ')")
print("( / ) ")
print(" \\(__)| ")
위 이스케이프 코드를 활용한 코드로 \출력을 위한 \ 코드 작성이 포인트였다.
(\를 하나만 작성해도 성공처리가 되는데 왜인지 잘 모르겠다.)
10172 개
|\_/|
|q p| /}
( 0 )"""\
|"^"` |
||_/=\\__|
print('|\\_/|')
print('|q p| /}')
print('( 0 )"""\\')
print('|"^"` |')
print('||_/=\\\\__|')
10171번과 같은 형식. 이 문제에서는 \가 한번이면 오답처리를 했다.
1000 A+B
a, b = input().split()
print(int(a)+int(b))
a, b 값을 한줄에 입력하기 위해 split()
를 사용하여 공백을 기준으로 값을 나누었다.
a, b 값을 더하기 위해 int()
내에 입력하여 정수형으로 변환하여 값의 오류가 나지 않도록 했다.
1001 A-B
a, b = input().split()
print(int(a)-int(b))
1000번과 같은 입출력 방식이기 때문에 쉽게 작성이 가능하였다.
10998 A×B
a, b = input().split()
print(int(a)*int(b))
1000번과 동일한 입출력 방식, 출력부분만 수정 하였다 (하단에 입출력 정리 참고)
1008 A/B
a, b = input().split()
print(int(a)/int(b))
1000, 1001, 10998, 1008번으로 기본 사칙연산 출력 법 문제가 나왔다.
Python 기본연산
A+B : 덧셈
A-B : 뺄셈
A*B : 곱셈
A/B : 나눗셈
A//B : 나눗셈 이후 정수부분 저장
A%B : 나눗셈 이후 나머지 저장
A**B : 거듭제곱
10869 사칙연산
a, b = input().split()
print(int(a)+int(b))
print(int(a)-int(b))
print(int(a)*int(b))
print(int(a)//int(b))
print(int(a)%int(b))
위 기본 연산을 활용하여 각 줄에 해당하는 연산을 출력하였다.
10926 ??!
print(input()+"??!")
문자열 연결하는 방식으로 input()
에서 받은 문자열 뒤에 ??! 를 더하는 방법으로 문자열도 +
를 통해 연결할 수 있다.
18108 1998년생인 내가 태국에서는 2541년생?!
불기 - 서기의 값은 2541 - 1998 로 543
이다. 불기 값을 서기값으로 변환하는 문제.
a = int(input())
result = a-543
print(result)
a를 정수로 입력받아 값을 계산하여 출력한다.
10430 나머지
첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력
A, B, C = input().split()
a = int(A)
b = int(B)
c = int(C)
print((a+b)%c)
print(((a%c)+(b%c))%c)
print((a*b)%c)
print(((a%c)*(b%c))%c)
값을 한줄로 입력 받기 때문에 split()
으로 문자열을 분리하여 저장한 뒤 각각 하나씩 정수값으로 재할당 하는 작업을 거쳤다.
2588 곱셈
어릴적 곱셈을 배울때 쓰던 방식을 코드로 작성하는 문제로 입력받은 값을 한번 변환하여 곱셈을 하는 작업이 필요했다.
a = int(input())
b = input()
print(a*int(b[2]))
print(a*int(b[1]))
print(a*int(b[0]))
print(a*int(b))
b값을 나누어 나머지값 혹은 몫 값을 이용하여 작성하는 방법도 있지만
문제에서 숫자를 하나씩 곱하는 방식이 더 직관적인 것 같아 문자열로 받아 인덱스 값을 정수값으로 전환, 곱셈을 수행하는 방식으로 변경하였다.
Author And Source
이 문제에 관하여([Python] 백준 알고리즘 1단계), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@melocoton/Python-백준-알고리즘-1단계저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)