티스토리 뷰
웹 개발에 흥미가 생기고 이런저런 공부를 해보았는데, 일단 알고리즘 문제들은 자바스크립트 보다는 파이썬으로 연습해보는게 좋을 것 같아 다시 처음부터 시작해본다.
쉬운 것들이라고 넘어가지 말 것! 그래도 너무 쉬운것들의 포스팅은 몰아서 한번에 하려고 한다.
입출력과 사칙연산 단계
입출력과 사칙연산
www.acmicpc.net
1. 2557번 Hello World
print('Hello World!')
*key point:가장 기본인 print문으로 문자열을 출력할 수 있다.
2. 10718번 We love kriii
1) 기본적인 방법
print('강한친구 대한육군\n강한친구 대한육군')
2) 다른 시도
print('강한친구 대한육군', '강한친구 대한육군', sep='\n')
*key point: python의 개행문자(줄바꿈문자)는 \n(= \n)이다.
3. 10171번 고양이
print("\\ /\\")
print(" ) ( ')")
print("( / )")
print(" \\(__)|")
*key point: \를 출력하고 싶다면 \\로 입력하여야 한다. 개행문자처럼 특이한 기능을 위해 \기호가 사용되는 것과 구분하기 위함이다.
4. 10172번 개
print("|\_/|")
print("|q p| /}")
print('( 0 )"""\\')
print('|"^"` |')
print('||_/=\\\\__|')
*key point: '를 출력하고 싶다면 "로 둘러싸고, 반대로 "를 출력하고 싶다면 '로 둘러싸야한다.
5. 1000번 A+B
A, B = input().split()
print(int(A) + int(B))
*key point: 기본적인 입력을 위해 input 함수를 이용한다. 또한, 입력이 한 줄에 이루어 지므로 split을 이용해 입력값을 공백을 기준으로 나누어 각 변수에 넣어줄 수 있고, int를 활용해 type을 바꾸어(형변환) 원하는 계산 값을 출력할 수 있다. (int를 사용하지 않으면 문자열의 합인 12가 출력될 것이다.)
6. 1001번 A-B
A, B = input().split()
print(int(A) - int(B))
*key point: 1000번 문제에서 +만 -로 바꾸어주면 된다.
7. 10998번 A×B
A, B = input().split()
print(int(A) * int(B))
*key point: 1000번 문제에서 +만 *로 바꾸어주면 된다. 문제에 (0 < A, B < 10)와 같은 조건이 주어져 있는데, 조건문을 사용하면 더 좋은 답안을 작성할 수 있을 것이다(입력값이 조건에서 벗어난 경우 다시 입력 값을 받는 기능 추가). 이 문제에서는 입력값이 정해져 있으므로 넘어간다.
8. 1008번 A/B
A, B = input().split()
print(int(A) / int(B))
* *key point: 1000번 문제에서 +만 /로 바꾸어주면 된다.
9. 10869번 사칙연산
1) 기본적인 방법
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))
2) 중복 최소화
A, B = map(int, input().split())
print(A+B, A-B, A*B, A//B, A%B, sep='\n')
*key point: 몫과 나머지를 얻는 연산자는 각각 //와 %이다. map 함수는 리스트의 요소들에 지정된 함수를 동일하게 적용하는데 편리하다.
10. 10926번 ??!
print(input() + "??!")
*key point: 문자열끼리 더하면 두 문자열이 연결된다.
11. 18108번 1998년생인 내가 태국에서는 2541년생?!
print(int(input()) - 543)
*key point: 입력값을 정수로 형변환해준다. 불기와 서기는 543년이 차이난다.
12. 10430번 나머지
A, B, C = map(int, input().split())
print((A+B)%C, ((A%C)+(B%C))%C, (A*B)%C, ((A%C)*(B%C))%C, sep='\n')
*key point: 10869번 문제와 유사하고 변수를 하나 늘려주기만 하면 된다.
13. 2588번 곱셈
A = int(input())
B = int(input())
print(A*(B%10), A*(B//10%10), A*(B//100), A*B, sep='\n')
*key point: 입력 값이 공백 구분이 아니므로 각각 입력 받는다. 몫 나머지 등의 연산자를 적절히 이용하면 된다.
'What I Learned > Algorithm Practice' 카테고리의 다른 글
[백준 - python] 9498번: 시험 성적 (0) | 2022.03.03 |
---|---|
[백준 - python] 1330번: 두 수 비교하기 (0) | 2022.03.03 |
[백준 - Node.js ] 10172: 개 (0) | 2021.07.15 |
[백준 - Node.js ] 10171: 고양이 (0) | 2021.07.15 |
[백준 - Node.js] 10718: We love kriii (0) | 2021.07.14 |
- Total
- Today
- Yesterday
- til
- 4134
- 13241
- 25501
- 백준
- MySQL
- 17103
- 코육대
- 10807
- 13909
- Python
- Programmers
- 2053
- 20920
- 항해 플러스
- 24313
- 2587
- Wil
- 1269
- 24723
- 벡준
- programmer
- 26069
- 2903
- 24060
- 5597
- SQL
- 2738
- 항해+
- 25192
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |