Deep_Dev
article thumbnail

 

 

๐Ÿ“š prefix suffix

 

 

prefix

์ปฌ๋ ‰์…˜์˜ ์ดˆ๊ธฐ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ง€์ •๋œ ์ตœ๋Œ€ ๊ธธ์ด๊นŒ์ง€ ํ•˜์œ„ ์‹œํ€€์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

 

์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ ์š”์†Œ ์ˆ˜๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ๊ฒฝ์šฐ ๊ฒฐ๊ณผ์—๋Š” ์ปฌ๋ ‰์…˜์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ํฌํ•จ๋œ๋‹ค.

let numbers = [1, 2, 3, 4, 5]
print(numbers.prefix(2)) // Prints "[1, 2]"

print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]"

 

 

 

๊ด€๋ จ ๋ฌธ์ œ

 

 

prefix ๋ฅผ ์ด์šฉํ•˜์—ฌ ํ‘ผ๋‹ค๋ฉด ?

 

import Foundation

func solution(_ my_string:String, _ n:Int) -> String {
    return String(my_string.prefix(n))
}

 

๐Ÿ’ก my_string:prefix(n) ์•ž์— String์„ ๋ถ™์ด๋Š” ์ด์œ 

prefix(_: ) ๋ฉ”์„œ๋“œ์˜ ๋ฐ˜ํ™˜ํƒ€์ž…์ด 'Substring'์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. Substring์€ ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€๋ถ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ํƒ€์ž…์ด๋ฉฐ, ์›๋ž˜ ๋ฌธ์ž์—ด๊ณผ ์—ฐ๊ด€๋˜์–ด ์žˆ์–ด ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๋ฐ ์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ์ด์ ์„ ๊ฐ€์ง„๋‹ค.

 

๊ทธ๋Ÿฌ๋‚˜ Substring์€ ์›์žฌ ๋ฌธ์ž์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•˜๋ฏ€๋กœ, ์›๋ž˜ ๋ฌธ์ž์—ด์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์„ ๋•Œ, ๊ทธ๋ฆฌ๊ณ  ์›๋ž˜ ๋ฌธ์ž์—ด์ด ํฐ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ๋‚ญ๋น„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ Substring์€ ์›๋ž˜ ๋ฌธ์ž์—ด์˜ ๋ณ€๊ฒฝ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ๋–„ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

 

String(my_string.prefix(n))์„ ์‚ฌ์šฉํ•˜๋ฉด Substring์„ ์ƒˆ๋กœ์šด String์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฏ€๋กœ ์›๋ž˜ ๋ฌธ์ž์—ด๊ณผ์˜ ์—ฐ๊ด€์ด ๋Š๊ธฐ๋ฉฐ, String์€ ์™„์ „ํžˆ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ ‡๊ฒŒํ•˜๋ฉด String์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›๋ž˜ ๋ฌธ์ž์—ด๊ณผ์˜ ๋งค๋ชจ๋ฆฌ ๊ณต์œ  ๋ฌธ์ œ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ String(my_string.prefix(n))์€ Substring์„ String์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์™€ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค. 

 

 

 

suffix

์ปฌ๋ ‰์…˜์˜ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ์ฃผ์–ด์ง„ ์ตœ๋Œ€๊ธธ์ด๊นŒ์ง€ ํ•˜์œ„ ์‹œํ€€์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

let numbers = [1, 2, 3, 4, 5] 
print(numbers.suffix(2)) // Prints "[4, 5]"

print(numbers.suffix(10)) // Prints "[1, 2, 3, 4, 5]"