์ƒˆ์†Œ์‹

๐Ÿ“ฑ iOS/-- Swift 5

(swift) ์ž…๋ ฅ๊ฐ’ ๋ฐ›๊ธฐ readLine, split , map

  • -

ํ•ญ์ƒ ํŒŒ์ด์ฌ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€๋‹ค๊ฐ€ Swift๋กœ ์‹œ๋„ํ•ด๋ณด๋ คํ•œ๋‹ค. ์ž…๋ ฅ๊ฐ’ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด๋ณด์ง€ ์•Š์•„์„œ ... ์ผ๋‹จ์€ ์ด๊ฒƒ๋ถ€ํ„ฐ

 

์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๊ฐ’ ์ž…๋ ฅ๋ฐ›๊ธฐ

 

#1. Command line Tool : ์ž…๋ ฅ๊ฐ’์„ ๋ฐ›๊ธฐ ์œ„ํ•œ ํ™˜๊ฒฝ

ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์—์„œ๋Š” ์‚ฌ์šฉ์ž์˜ ๊ฐ’์„ ์ž…๋ ฅ๋ฐ›์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์œ„ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Command line Tool๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•ด์ฃผ์–ด์•ผ ํ•œ๋‹ค.

 

 

#2. readLine() : ์ž…๋ ฅ๊ฐ’ ๋ฐ›๊ธฐ

ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ์œผ๋ฉด readLine() ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž ๊ฐ’์„ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

let input = readLine()!

๋ฐ˜ํ™˜ํ˜•์€ Optional<String> ์ด๋‹ค. ๋”ฐ๋ผ์„œ ! ๋ฅผ ํ†ตํ•ด์„œ ๊ฐ•์ œunwrapping์„ ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. (์–ด์ฐจํ”ผ ๋ฐฑ์ค€์—์„œ๋Š” ๋ฐ˜๋“œ์‹œ ์ž…๋ ฅ๊ฐ’์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—)

 

 

#3. split() : ๊ฐ’ ์ชผ๊ฐœ๊ธฐ

์ž…๋ ฅ๊ฐ’์ด ํ•˜๋‚˜์˜ ์ค„์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์ด ๊ณต๋ฐฑ๋“ฑ์˜ ๊ตฌ๋ถ„์ž๋ฅผ ๋‘๊ณ  ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 1 5 3 2 3 5๋ผ๋Š” ์ž…๋ ฅ๊ฐ’์ด ๋“ค์–ด์˜จ๋‹ค๋ฉด ๊ตฌ๋ถ„์ž๋Š” ๊ณต๋ฐฑ์ด๋œ๋‹ค.

let input = readLine()!.split(separator: " ")

์ด๋ ‡๊ฒŒ ๋ฐ›์•„์ฃผ๊ฒŒ ๋˜๋ฉด, input์˜ type์€ ๋ฐฐ์—ด์ด๋œ๋‹ค. (Array)

 

 

#4. Map()

#3 ์—์„œ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ๋ฐ›์•„์˜ค๊ฒŒ ๋˜๋ฉด Arrayํƒ€์ž…์ด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ์—ฐ์‚ฐ๋“ฑ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ˆซ์ž ์ž๋ฃŒํ˜•์ด ํ•„์š”ํ•œ๋ฐ, ์ด๋•Œ๋Š” map(_:) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Int๋‚˜ Doubleํ˜•๊ณผ ๊ฐ™์ด ํƒ€์ž…์„ ๋ฐ”๊ฟ”์ค„ ์ˆ˜ ์žˆ๋‹ค.

let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let lowercaseNames = cast.map { $0.lowercased() }
// 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"]
let letterCounts = cast.map { $0.count }
// 'letterCounts' == [6, 6, 3, 4]

map(_:)ํ•จ์ˆ˜๋Š” ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•˜์—ฌ ์ฃผ์–ด์ง„ ํด๋กœ์ ธ์˜ ๋™์ž‘์„ ์ ์šฉ์‹œ์ผœ์ฃผ๊ฒŒ ๋œ๋‹ค.

๋”ฐ๋ผ์„œ 1 2 4 5 3 6๋ผ๋Š” ์ž…๋ ฅ๊ฐ’์ด ์žˆ์„๋•Œ , ์ˆซ์žํ˜• ๋ฐฐ์—ด๋กœ ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ์ฒ˜๋Ÿผ ํ•˜๋ฉด ๋œ๋‹ค.

let inputArray = readLine()!.split(separator: " ").map{Int($0)!}
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.