Potato
์•ˆ๋…•ํ•˜์„ธ์š”, ๊ฐ์žก๋‹ˆ๋‹ค?๐Ÿฅ” ^___^ ๐Ÿ˜บ github ๋ฐ”๋กœ๊ฐ€๊ธฐ ๐Ÿ‘‰๐Ÿป

Algorithm

[python] ๋ฐฑ์ค€ ๋ฌธ์ œํ’€์ด๋ฅผ ์œ„ํ•œ ์ž…์ถœ๋ ฅ ๋ฐฉ๋ฒ• (sys.stdin.readline(), input() ์ฐจ์ด์ )

๊ฐ์ž ๐Ÿฅ” 2024. 6. 15. 17:44
๋ฐ˜์‘ํ˜•

1๏ธโƒฃ ์ž…๋ ฅ๊ฐ’ ํ•œ ๊ฐœ

- input()์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฌธ์ž์—ด๋กœ ๋ฐ›๋Š”๋‹ค.

a = input()
# ์ž…๋ ฅ: hello, ์ถœ๋ ฅ: hello (string)

b = int(intput())
# ์ž…๋ ฅ: 1, ์ถœ๋ ฅ: 1 (intํ˜•)

2๏ธโƒฃ ์ž…๋ ฅ๊ฐ’์„ ๊ฐ๊ฐ ๋ณ€์ˆ˜์— ๋„ฃ์–ด์ฃผ๊ธฐ 

# ์ •์ˆ˜
a, b = map(int, input().split())

# ๋ฌธ์ž์—ด
a, b = input().split()

3๏ธโƒฃ  ์ž…๋ ฅ๊ฐ’์„ 1์ฐจ์› ๋ฐฐ์—ด๋กœ

- ํ•œ ๋ฒˆ์— ์ž…๋ ฅ๋ฐ›๊ณ  ์ž˜๋ผ์„œ 1์ฐจ์› ๋ฐฐ์—ด์— ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•
- split(): ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด์„ ์ž˜๋ผ ๋ฐฐ์—ด์— ๋„ฃ์Œ. ๊ด„ํ˜ธ ์•ˆ์— ์ž๋ฅด๋Š” ๊ธฐ์ค€์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ์Œ.

# โœ… string์ธ ๊ฒฝ์šฐ
a = input().split()     #hello my name is gamza
b = input().split(':')  #hello:my name is: gamza

print(a)    #['hello', 'my', 'name', 'is', 'gamza']
print(b)    #['hello', 'my name is', 'gamza']

####################################################
# โœ… intํ˜• ์œผ๋กœ ์ž…๋ ฅ์„ ๋ฐ›์•„์•ผํ•˜๋Š” ๊ฒฝ์šฐ
a = list(map(int, input().split()))   # ๋„์–ด์“ฐ๊ธฐ๋กœ ์ž…๋ ฅ

print(a)  #[1,2,3,4,5]

- ์—ฌ๋Ÿฌ๋ฒˆ ์ž…๋ ฅ๋ฐ›์•„์„œ, ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์œผ๋กœ 1์ฐจ์› ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๋ฐฉ๋ฒ•

# 1๏ธโƒฃ ์ฒซ๋ฒˆ์งธ ๋ฐฉ๋ฒ•: for๋ฌธ ์ด์šฉ
n = int(input())      # 5
arr = []
for i in range(0, n):
    arr.append(int(input()))   # ์—”ํ„ฐ๊ธฐ์ค€์œผ๋กœ 5๋ฒˆ ์ž…๋ ฅ๋ฐ›์Œ (1, 2, 3, 4, 5)

print(arr)    #[1, 2, 3, 4, 5]


# 2๏ธโƒฃ ๋‘๋ฒˆ์งธ ๋ฐฉ๋ฒ•: ๋ฐ”๋กœ ๋ฐ›์•„์„œ ๋ฐฐ์—ด๋กœ ๋„ฃ์–ด์ฃผ๊ธฐ
n = int(input())    # 5
arr = [int(input()) for _ in range(n)]   # ์—”ํ„ฐ๊ธฐ์ค€์œผ๋กœ 5๋ฒˆ ์ž…๋ ฅ๋ฐ›์Œ (1, 2, 3, 4, 5)
print(arr)    #[1, 2, 3, 4, 5]

4๏ธโƒฃ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ

- [[1, 2, 3], [4, 5, 6], [7, 8, 9]] ์™€ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ

arr = [list(map(int,input().split())) for _ in range(n)]

- n: arr์˜ length
- int ๋นผ๋ฉด string์œผ๋กœ ๊ฐ€๋Šฅ
- split() ๋นผ๋ฉด ํ•œ๋ฌธ์ž์”ฉ ๋‚˜๋ˆ ์คŒ 

5๏ธโƒฃ sys ์‚ฌ์šฉํ•˜๊ธฐ

- ์œ„์—์„œ ์ž‘์„ฑ๋œ ๋ชจ๋“  input์ด ๋“ค์–ด๊ฐ€๋Š” ์ž๋ฆฌ์— sys.stdin.readline() ์„ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค. 

import sys
num = int(sys.stdin.readline())
arr = [list(sys.stdin.readline().split()) for _ in range(num)]

print(arr)

## num: 3
## arr : [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]

 

๐Ÿค” sys.stdin.readline() ๊ณผ input() ์˜ ์ฐจ์ด์  ?_?

1. ๊ฐœํ–‰๋ฌธ์ž

input()๋Š” ์ž์ฒด์ ์œผ๋กœ ๊ฐœํ–‰๋ฌธ์ž(์—”ํ„ฐ, \n)๋ฅผ ์‚ญ์ œ์‹œ์ผœ ๋ฐ˜ํ™˜ํ•˜๊ณ , sys.stdin.readline()์€ ํฌํ•จํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

import sys

str1 = input()
str2 = sys.stdin.readline()

print(str1)
print(str2)
print("------end--------")

sys.stdin.readline()์œผ๋กœ ์ž…๋ ฅ๋œ str2๋‹ค์Œ์— ์—”ํ„ฐ๊ฐ€ ํฌํ•จ๋˜๊ณ  end๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

2. prompt message

input()์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ prompt message๋ฅผ ๋ฐ›๋Š”๋‹ค. ๊ทธ๋ž˜์„œ ์‹คํ–‰๋  ๋•Œ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ด๊ธฐ ์ „, prompt message๋ฅผ ๋จผ์ € ์‹คํ–‰ํ•˜๊ณ  ์ž…๋ ฅ์„ ๋ฐ›๋Š”๋‹ค.

str1 = input("์ž…๋ ฅํ•ด์ฃผ์„ธ์š” \n")
print(str1)
print("------end--------")

3. ๋ฒ„ํผ์— ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด ๋‹ค๋ฅด๋‹ค. 

sys.stdin.readline์€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๊ฐ’์„ ํ•œ๋ฒˆ์— ๋ฐ›์•„์™€ ๋ฒ„ํผ์— ๋ชจ๋‘ ์ €์žฅํ•œ๋‹ค. ๋ฐ˜๋ฉด์— input()์€ ๊ฐ’์„ ์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ๋”ฐ๋กœ๋”ฐ๋กœ ๋ฒ„ํผ์— ์ €์žฅํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ๋ฒ„ํผ ์‚ฌ์ด์ฆˆ์˜ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ•˜๋ฏ€๋กœ, ์ž…๋ ฅ์ด ๋ฐ˜๋ณต๋  ์ˆ˜๋ก input๋ณด๋‹ค sys์˜ ์†๋„๋Š” ํ™•์—ฐํ•˜๊ฒŒ ๋นจ๋ผ์ง„๋‹ค.

 

โœ… ๋”ฐ๋ผ์„œ ์œ„์˜ ์ด์œ ๋“ค ๋•Œ๋ฌธ์— input()์€ sys.stdin.readline()๋ณด๋‹ค ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆด ์ˆ˜ ๋ฐ–์— ์—†๋‹ค. ๋”ฐ๋ผ์„œ, ๋ฐฑ์ค€๊ณผ ๊ฐ™์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋–„๋Š” sys๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•œ readline()์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒŒ ๋” ํ•ฉ๋ฆฌ์ ์ด๋‹ค.

 

๋ฐ˜์‘ํ˜•

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Codility] (Swift) CountDiv  (0) 2022.12.22
[Codility] (Swift) MaxCounters  (4) 2022.12.22