[BOJ] 10828๋ฒˆ - ์Šคํƒ (Swift, C++)

๋ฌธ์ œ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ์Šคํƒ์„ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ๋ช…๋ น์€ ์ด ๋‹ค์„ฏ ๊ฐ€์ง€์ด๋‹ค. push X: ์ •์ˆ˜ X๋ฅผ ์Šคํƒ์— ๋„ฃ๋Š” ์—ฐ์‚ฐ์ด๋‹ค. pop: ์Šคํƒ์—์„œ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ๋นผ๊ณ , ๊ทธ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค. size: ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. empty: ์Šคํƒ์ด ๋น„์–ด์žˆ์œผ๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค. top: ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ •์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์Šคํƒ์— ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค. 10828๋ฒˆ: ์Šคํƒ ์ฒซ์งธ ์ค„์— ์ฃผ์–ด์ง€๋Š” ๋ช…๋ น์˜ ์ˆ˜ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ๋ช…๋ น์ด ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ์ •์ˆ˜๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , ..

Coding Test/BOJ 2024. 2. 20. 23:31
[BOJ] 1475๋ฒˆ - ๋ฐฉ ๋ฒˆํ˜ธ (Swift)

๋ฌธ์ œ ๋‹ค์†œ์ด๋Š” ์€์ง„์ด์˜ ์˜†์ง‘์— ์ƒˆ๋กœ ์ด์‚ฌ์™”๋‹ค. ๋‹ค์†œ์ด๋Š” ์ž๊ธฐ ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์˜ˆ์œ ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋กœ ๋ฌธ์— ๋ถ™์ด๋ ค๊ณ  ํ•œ๋‹ค. ๋‹ค์†œ์ด์˜ ์˜†์ง‘์—์„œ๋Š” ํ”Œ๋ผ์Šคํ‹ฑ ์ˆซ์ž๋ฅผ ํ•œ ์„ธํŠธ๋กœ ํŒ๋‹ค. ํ•œ ์„ธํŠธ์—๋Š” 0๋ฒˆ๋ถ€ํ„ฐ 9๋ฒˆ๊นŒ์ง€ ์ˆซ์ž๊ฐ€ ํ•˜๋‚˜์”ฉ ๋“ค์–ด์žˆ๋‹ค. ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜์˜ ์ตœ์†Ÿ๊ฐ’์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค. (6์€ 9๋ฅผ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๊ณ , 9๋Š” 6์„ ๋’ค์ง‘์–ด์„œ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.) 1475๋ฒˆ: ๋ฐฉ ๋ฒˆํ˜ธ ์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. www.acmicpc.net ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹ค์†œ์ด์˜ ๋ฐฉ ๋ฒˆํ˜ธ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— ํ•„์š”ํ•œ ์„ธํŠธ์˜ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ œ ํ’€์ด ํ•ด๋‹น ๋ฌธ์ œ๋Š” ์ˆซ์ž๋ฅผ ์นด์šดํŠธ..

Coding Test/BOJ 2024. 2. 13. 15:53
[BOJ] 10808๋ฒˆ - ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜ (Swift)

๋ฌธ์ œ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ์•ŒํŒŒ๋ฒณ์ด ๋‹จ์–ด์— ๋ช‡ ๊ฐœ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 10808๋ฒˆ: ์•ŒํŒŒ๋ฒณ ๊ฐœ์ˆ˜ ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” a์˜ ๊ฐœ์ˆ˜, b์˜ ๊ฐœ์ˆ˜, …, z์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. www.acmicpc.net ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— ๋‹จ์–ด S๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ์–ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š์œผ๋ฉฐ, ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ถœ๋ ฅ ๋‹จ์–ด์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” a์˜ ๊ฐœ์ˆ˜, b์˜ ๊ฐœ์ˆ˜, …, z์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. ๋ฌธ์ œ ํ’€์ด ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ํ•ด๋‹นํ•˜๋Š” ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ์— ํ•ด๋‹นํ•˜๋Š” ์ธ๋ฑ์Šค์— +1์„ ํ•ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํ’€์ด๋Š” ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— O(n^2) ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค์™€ ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž์˜ ..

Coding Test/BOJ 2024. 2. 13. 00:11
[Swift] ' % ' ์—ฐ์‚ฐ์ž๋Š” ๋ชจ๋“ˆ๋กœ๊ฐ€ ์•„๋‹ˆ๋ผ ๋‚˜๋จธ์ง€์ž…๋‹ˆ๋‹ค. (Remainder Operator)

Swift ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€ํ•˜๊ธฐ ์œ„ํ•ด ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ •๋…ํ•˜๊ณ  ์ •๋ฆฌํ•˜๋Š” ๊ธ€์„ ์˜ฌ๋ฆฌ๊ธฐ๋กœ ํ–ˆ๋Š”๋ฐ.. ๋„ˆ๋ฌด ํšจ์œจ์ด ๋–จ์–ด์ง€๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ์ฝ์–ด๋ณด๋ฉด์„œ ์ €์˜ ์‹ฌ๊ธฐ๋ฅผ ๊ฑด๋“œ๋ฆฌ๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ  ํ•ด๋‹น ๋‚ด์šฉ์„ ๊ธ€๋กœ ๋‚จ๊ธฐ๊ธฐ๋กœ ๋งˆ์Œ์„ ๋จน์—ˆ์Šต๋‹ˆ๋‹ค! (๋ฌธ์„œ์— ์ž˜ ๋‚˜์™€์žˆ๋Š”๋ฐ ๊ตณ์ด ๋งŽ์€ ์‹œ๊ฐ„์„ ํ• ์• ํ•ด์„œ ๋‹ค์‹œ ์ •๋ฆฌํ•˜๋Š”๊ฒŒ ์˜๋ฏธ๊ฐ€ ์žˆ๋‚˜ ์‹ถ์–ด.. ์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์ดํ•ดํ•˜๋Š” ๊ฒƒ์— ๋ชฉํ‘œ๋ฅผ ๋‘๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค.๐Ÿ˜Ž) ๊ทธ๋ž˜์„œ ์˜ค๋Š˜์€ Swift ๊ณต์‹๋ฌธ์„œ์˜ Basic Operators๋ฅผ ์ฝ์œผ๋ฉฐ ์ƒ๊ธด ์˜๋ฌธ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜๋ฌธ์  ๋‚˜๋จธ์ง€ ์—ฐ์‚ฐ์ž (%)๋Š” ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ๋Š” ๋ชจ๋“ˆ๋กœ ์—ฐ์‚ฐ์ž (modulo operator)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์Œ์ˆ˜์— ๋Œ€ํ•œ Swift์˜ ๋™์ž‘์€ ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด ๋ชจ๋“ˆ๋กœ ์—ฐ์‚ฐ์ด ์•„๋‹Œ ๋‚˜๋จธ์ง€ ์ž…๋‹ˆ๋‹ค. ๋ชจ๋“ˆ๋กœ?..

Swift 2024. 2. 4. 22:52