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

Algorithm/Baekjoon

[๋ฐฑ์ค€] (Swift) 2457๋ฒˆ - ๊ณต์ฃผ๋‹˜์˜ ์ •์› (๊ทธ๋ฆฌ๋””, ๊ณจ๋“œ3)

๊ฐ์ž ๐Ÿฅ” 2023. 5. 15. 20:02
๋ฐ˜์‘ํ˜•
์ด๊ฒƒ์ €๊ฒƒ ์ฑ„์šฉ ์ด์Šˆ ๋•Œ๋ฌธ์— ๋ฌธ์ œ ํ’€์ด๋Š” ์ด ๊ณต์ฃผ๋‹˜๋ฌธ์ œ๋Š” 4์›”๋ง์— ํ’€๊ธฐ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ ใ…‹ใ…‹ใ…‹ใ…‹ ํ’€์ด๋ฅผ ์™„๋ฃŒํ•œ ์‹œ์ ์€ ์•ฝ 3์ฃผ ํ›„์ธ 5์›” ์ค‘์ˆœ,,,, (์•„ ๊ณต์ฃผ๋‹˜ ์ง„์งœ ๋ฟŒ์…”๋ฒ„๋ฆฌ๋Š”๊ฒŒ ๋ชฉํ‘œ์˜€๋Š”๋ฐ ๋“œ๋””์–ด ๋ฟŒ์…”์„œ ์—†์• ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์—ˆ๋‹ค.. ๋‹ค์‹  ์•ˆํ’€์–ด ์ด๊ฑฐ)
์ž์†Œ์„œ์“ฐ๊ณ  ์ตœ์ข…๋ฉด์ ‘๋ณด๊ณ  ์ด๊ฒƒ์ €๊ฒƒ ํ•˜๋Š๋ผ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์— ์ง‘์ค‘ํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋‹ค์‹œ ํ‘ธ๋‹ˆ๊นŒ ์žฌ๋ฐŒ๋„ค? ๊ทธ๋ฆฌ๊ณ  ํ™•์‹คํžˆ refreshํ•˜๊ณ  ๋‹ค์‹œ ๋ฌธ์ œ๋ฅผ ์ ‘ํ•˜๋‹ˆ๊นŒ ๋” ์ž˜ํ’€๋ฆฌ๋Š” ๊ธฐ๋ถ„์ด๋‹ค. ์•ž์œผ๋กœ ๋‹ค์‹œ ํ™”์ดํŒ…ํ•˜์ž!! 

 

โšซ๏ธ ๋ฌธ์ œ

https://www.acmicpc.net/problem/2457

2457๋ฒˆ: ๊ณต์ฃผ๋‹˜์˜ ์ •์›

์ฒซ์งธ ์ค„์—๋Š” ๊ฝƒ๋“ค์˜ ์ด ๊ฐœ์ˆ˜ N (1 โ‰ค N โ‰ค 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ๊ฝƒ์ด ํ”ผ๋Š” ๋‚ ์งœ์™€ ์ง€๋Š” ๋‚ ์งœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ํ•˜๋‚˜์˜ ๋‚ ์งœ๋Š” ์›”๊ณผ ์ผ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ˆซ์ž๋กœ ํ‘œํ˜„๋œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ,

www.acmicpc.net

 

โšซ๏ธ ๋‚˜์˜ ํ’€์ด

์™€,, ์ง„์งœ ์–ด๋ ต๋‹ค. ์–ด๋ ค์šด ์ด์œ ๋Š”, ๋ฌธ์ œ๋ฅผ ๋ณด์ž๋งˆ์ž ๊ทธ๋ฆฌ๋””์ธ ๊ฒƒ์€ ์•Œ์•˜์ง€๋งŒ, ๋ฒ”์œ„์„ค์ •ํ•ด์„œ ์ฝ”๋“œ๋กœ๊ตฌํ˜„ํ•˜๋Š”๊ฒŒ ๊ฐœ์–ด๋ ต๋‹ค. ๋ฌธ์ œ๋Š”, ๊ทธ๋ฆฌ๋””์—์„œ ๊ฐ€์žฅ ์œ ๋ช…ํ•œ 'ํšŒ์˜์‹ค ๋ฐฐ์ •'๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๋‹ค. ์•„๋‹ˆ๋ฉด, ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ํ’€์–ด๋ดค๋˜ '๋‹จ์†์นด๋ฉ”๋ผ'๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค.
๋‹จ์†์นด๋ฉ”๋ผ์™€ ๋” ๋น„์Šทํ•˜๋‹ค๊ณ  ๋Š๋‚€ ์ด์œ ๋Š”, ๋‹จ์†์นด๋ฉ”๋ผ ๋ฌธ์ œ๋„ '๋“ค์–ด๊ฐ€๋Š” ์‹œ๊ฐ„' ๊ณผ '๋‚˜์˜ค๋Š”์‹œ๊ฐ„'์ด ๋”ฐ๋กœ ์ฃผ์–ด์กŒ๊ณ , ์ด ๋ฒ”์œ„๋ฅผ ๋ชจ๋‘ ๊ณ ๋ คํ•ด์•ผ๋งŒ ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. (๋‘ ๊ฐœ์˜ ๋ฌธ์ œ๋Š” ์•„๋ž˜์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.)
https://didu-story.tistory.com/394

[๋ฐฑ์ค€] (Swift) 1931๋ฒˆ - ํšŒ์˜์‹ค ๋ฐฐ์ • (๋‘๋ฒˆ์งธ ํ’€์ด) (feat. ๊ทธ๋ฆฌ๋””)

๐ŸŸฃ ๋ฌธ์ œ https://www.acmicpc.net/problem/1931 1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ • (1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. www.acmicpc.net ๐ŸŸฃ ๋‚˜์˜ ํ’€์ด ๋๋‚˜๋Š” ์‹œ๊ฐ„๋งŒ ๊ณ ๋ คํ•˜๋ฉด ๋˜๋Š”์ค„์•Œ ๊ณ  ์ •๋ ฌ์„ ํ•œ๋ฒˆ๋งŒ ํ–ˆ๋‹ค๊ฐ€ ํ‹€๋ ธ๋‹ค.

didu-story.tistory.com

https://didu-story.tistory.com/410

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (Python) ๋‹จ์†์นด๋ฉ”๋ผ (lv.3, ๊ทธ๋ฆฌ๋””)

๋งž์Šต๋‹ˆ๋‹ค,, ์ด ๋ฌธ์ œ๋„ ์ œ๋ชฉ๊ณผ ์ธ๋„ค์ผ์ด ๋”ฐ๋กœ๋†‰๋‹ˆ๋‹ค ใ… ใ…  ํ•ด๋‹น ๋ฌธ์ œ๋„ ์Šค์œ„ํ”„ํŠธ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š๋Š” ๊ด€๊ณ„๋กœ python์œผ๋กœ ๋ฌธ์ œํ’€์ด ํ•˜์˜€์Šต๋‹ˆ๋‹ค! ๊ฐ์•ˆํ•˜๊ณ  ๋ด์ฃผ์„ธ์šฉ ๐ŸŸ  ๋ฌธ์ œ https://school.programmers.co.kr/lear

didu-story.tistory.com

 
๋ญ ์–ด์จŒ๋“ , ๊ณต์ฃผ๋‹˜์ด ์ •์›์„ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ 3์›”1์ผ๋ถ€ํ„ฐ 11์›”30์ผ๊นŒ์ง€๋Š” ๋ฌด์กฐ๊ฑด ๊ฝƒ์ด ํ•œ๊ฐœ ์ด์ƒ ํ”ผ์–ด์ ธ ์žˆ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋‹ˆ๊นŒ, ์ฃผ์–ด์ง„ ๋ฒ”์œ„๊ฐ€ ๊ฒน์น˜๋Š” ๊ฒƒ์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ๊ฝƒ์„ ์„ ํƒํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค.

1. ์ •๋ ฌํ•ด์ฃผ๊ธฐ

์šฐ์„ , ๊ทธ๋ฆฌ๋””์—์„œ ๊ฐ€์žฅ ์ ํ•ฉํ•œ ํ•ด๋ฅผ ๋จผ์ € ์ฐพ์•„์ฃผ๋ฉด์„œ ํ•ด๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ์ •๋ ฌ์ด ํ•„์š”ํ•˜๋‹ค. ๊ณต์ฃผ๋‹˜์˜ ์ •์›์— ์žˆ๋Š” ๊ฝƒ๋“ค์„ ๋จผ์ € ์ •๋ฆฌํ•ด์ค„๊ฒƒ์ด๋‹ค. ๋‹จ, ๋งŒ์•ฝ ๊ฝƒ์ด ํ”ผ๋Š” ๋‚ ์งœ๊ฐ€ ๊ฐ™๋‹ค๋ฉด, ๊ฝƒ์ด ๋” ์˜ค๋ž˜ ํ”ผ์–ด์žˆ๋Š” ์•„์ด๋ฅผ ๋” ์•ž์œผ๋กœ ์ •๋ ฌํ•ด์คŒ์œผ๋กœ์จ, ๋‚˜์ค‘์— ์„ ํƒํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ์ž.

2. ๋ฒ”์œ„ ๋น„๊ตํ•˜๊ธฐ ํŽธํ•˜๋„๋ก ๋‚ ์งœ๋ฅผ ์ˆซ์ž๊ฐœ๋…์œผ๋กœ ์ƒ๊ฐํ•ด์ฃผ์ž.

input์€ ๋ชจ๋‘ ์ˆซ์ž๋กœ ์ฃผ์–ด์ง€์ง€๋งŒ, ์‚ฌ์‹ค ์ด๊ฒƒ์€ '๋‚ ์งœ'๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋‚ ์งœ๋ฅผ ๋น„๊ตํ•˜๋Š” ์ผ์ด์‰ฝ์ง€ ์•Š์ง€๋งŒ ๊ทธ๋ƒฅ ์ˆซ์ž๋กœ ์ƒ๊ฐํ•˜๊ณ  ๋น„๊ตํ•ด์ฃผ๋ฉด๋œ๋‹ค. 0000 ๋„ค์ž๋ฆฌ๋กœ ๋งŒ๋“ค์–ด์ฃผ์–ด์„œ 1์›”1์ผ์€ 101, 12์›” 21์ผ์€ 1221์ˆซ์ž๋กœ ๋งŒ๋“ค์–ด์ฃผ๊ณ , ์ด ์ˆซ์ž๋“ค์„ ๋น„๊ตํ•˜๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋‚ ์งœ๋น„๊ต๊ฐ€ ๊ฐ€๋Šฅํ•ด์ง„๋‹ค. ์ด ๋ถ€๋ถ„๋„ ์ด ๋ฌธ์ œ์˜ ํ•ต์‹ฌ ํฌ์ธํŠธ๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

3. ๋‚ด๊ฐ€ ๋ณด๊ธฐ ํŽธํ•˜๋„๋ก, flowers๋ฐฐ์—ด ๋‚ด๋ถ€์— ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ฝƒ๋“ค๋งŒ ๋„ฃ์–ด์ฃผ์ž.

๊ณต์ฃผ๋‹˜์€ 3์›”1์ผ๋ถ€ํ„ฐ 11์›”30์ผ๊นŒ์ง€ ๊ฝƒ์ด ํ”ผ์–ด์žˆ๊ธธ ๋ฐ”๋ž€๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, 1์›”~3์›”๊นŒ์ง€ ํ”ผ์–ด์žˆ๋Š” ๊ฝƒ์€ ์–ด์ฐจํ”ผ ์ •๋‹ต์— ํฌํ•จํ•  ์ˆ˜ ์—†๊ณ , 3์›” ์ดํ›„์— ์ง€๋”๋ผ๋„ 3์›” ์ด์ „์— ํ•€ ๊ฝƒ๋“ค์€ ๊ทธ๋ƒฅ ํ•€ ๋‚ ์งœ๋ฅผ 3์›”1์ผ๋กœ ์—ฌ๊ฒจ๋„ ๋ฌด๋ฐฉํ•˜๋‹ค. 
์ด ์„ธ ๊ณผ์ •์„ input์„ ๋ฐ›๊ณ ๋‚˜์„œ ๋ฐ”๋กœ๋ฐ”๋กœ ์ฒ˜๋ฆฌํ•ด์ค„ ๊ฒƒ์ด๋‹ค.
๊ทธ๋ฆฌ๊ณ  ๊ทธ ๋‹ค์Œ์—,,, ์ด์ œ ๋น„๊ตํ•˜๋Š”๊ฒŒ ๋ฌธ์  ๋ฐ... 

์‚ฌ์ง„์€ ๊ทธ๋ƒฅ ๊ธฐ๋ก์šฉ์œผ๋กœ ์˜ฌ๋ ค๋†“์€๊ฒƒ, ์ดํ•ดํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค ์ฝ์–ด์ฃผ์‹œ๋Š” ๋ถ„๋“ค... ํ—คํ—ค

๋น„๊ตํ•˜๋ฉด์„œ ์ค‘์š”ํ•œ๊ฒƒ์€, ์ง€๊ธˆ ๋งŒ์•ฝ ๊ฝƒ์„ ์„ ํƒํ–ˆ์„ ๋•Œ, ๋‹ค์Œ๊ฝƒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์„ ํƒ์ด ๊ฐ€๋Šฅํ•œ๋ฐ ๋งŒ์•ฝ ์ง€๋Š”๋‚ ์ด ๋” ๋Šฆ์œผ๋ฉด ๊ทธ ๊ฝƒ์„ ์„ ํƒํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์ง€์†์ ์œผ๋กœ ๊ฝƒ์„ ์„ ํƒํ•˜๊ณ , ๊ทธ ๋’ค์—์žˆ๋Š” ๊ฝƒ๋“ค๋„ ์ถ”๊ฐ€๋กœ ๋ด์ฃผ๋ฉด์„œ ์ง€๋Š”๋‚ ์ด ๋” ๋Šฆ๋Š” ๊ฝƒ์„ ์„ ํƒํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. (์•„์˜ค ๋ณต์žกํ•ด ๋ฒŒ์จ)
max๋ผ๋Š” ๋ณ€์ˆ˜์—, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์œผ๋กœ ์ง„ ๊ฝƒ์˜ ๊ฝƒ์ด ์ง„ ๋‚ ์งœ๋ฅผ ๋„ฃ์–ด์ค„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ๊ฐํ•œ ๋ฐฉ์‹์€ while๋ฌธ์œผ๋กœ idx < flowers.count๋กœ ๋Œ๋ ค์ค„๊ฒƒ์ด๊ณ , ์กฐ๊ฑด์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋„ฃ์–ด์ค€๋‹ค.

  • ๋งŒ์•ฝ max๋ณด๋‹ค ๋นจ๋ฆฌ์ง€๋Š” ๊ฝƒ์€ continue๋กœ ๋ณผ ํ•„์š”๋„ ์—†๋‹ค. 
  • ์ง€๊ธˆ max๋ณด๋‹ค ๊ฝƒ์ด max๋ณด๋‹ค ๋นจ๋ฆฌํ”ผ๊ณ , max๋ณด๋‹ค ์ง€๋Š”๋‚ ์ด ๋Š๋ฆฌ๋ฉด, ๊ทธ ๊ฝƒ์„ ์„ ํƒํ•ด์•ผํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‚˜, ๊ทธ ๊ฝƒ ๋’ค์— ํ˜น์‹œ ์ง€๋Š”๋‚ ์ด ๋” ๋จผ ๊ฝƒ์ด ์žˆ๋‹ค๋ฉด ๋’ค์—์žˆ๋Š” ๊ธฐ๊ฐ„์ด ๋” ๊ธด ๊ฝƒ์„ ์„ ํƒํ•ด์•ผํ•ด์„œ, for๋ฌธ์œผ๋กœ flowers ์ „๋ถ€๋ฅผ ํƒ์ƒ‰ํ•ด์ฃผ๋ฉด์„œ ๋’ค์—์žˆ๋Š” ๊ฝƒ์„ ํ™•์ธํ•œ๋‹ค.

์ด ๊ณผ์ •์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค.

์ฒซ๋ฒˆ์žฌ ์‹œ๋„ ์ฝ”๋“œ - ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค...

import Foundation

func solution() -> Int {
    let n = Int(readLine()!)!
    var flowers = [(Int, Int)]()

    for _ in 0..<n {
        let temp = readLine()!.split(separator: " ").map{ Int($0)! }
        // 1์ฐจ๋กœ ์ง€๋Š”๋‚ ์ด 3์›”1์ผ ์ด์ „์ด๋ฉด ์•„์˜ˆ flowers์— ๋„ฃ์–ด์ฃผ์ง€๋„ ์•Š์Œ
        if temp[2]*100 + temp[3] < 301 {
            continue
        }
        // 2์ฐจ๋กœ ํ”ผ๋Š” ๋‚ ์ด 301๋ณด๋‹ค ์ด์ „์ด๋ฉด, ์•„์˜ˆ ๊ทธ๋ƒฅ 301๋กœ ๋ฐ”๊ฟ”์„œ ๋„ฃ์–ด์คŒ
        if temp[0]*100 + temp[1] < 301 {
            flowers.append((301, temp[2]*100 + temp[3]))
            continue
        }
        // 3์ฐจ๋กœ ๊ทธ ์ค‘๊ฐ„ ๋ฒ”์œ„์— ํฌํ•จ๋˜๋Š” ์• ๋“ค์€ ๊ฑ ๋„ฃ์–ด์คŒ
        flowers.append((temp[0]*100 + temp[1], temp[2]*100 + temp[3]))
    }

    // ํ”ผ๋Š”๋‚  ์˜ค๋ฆ„์ฐจ์ˆœ, ๊ฐ™์œผ๋ฉด ์ง€๋Š”๋‚ ์€ ๋‚ด๋ฆผ์ฐจ์ˆœ (๊ธธ์ˆ˜๋ก ์•ž์—์œ„์น˜)
    flowers.sort {
        if $0.0 == $1.0 {
            return $0.1 > $1.1
        } else {
            return $0.0 < $1.0
        }
    }

    var max = 0
    var temp = 0
    var answerArr = [Int]()
    let start = 301
    let end = 1130
    var idx = 0

    // 301๋ถ€ํ„ฐ ํ”ผ์–ด์žˆ๋Š” ๊ฝƒ์ด ์—†๋Š” ๊ฒฝ์šฐ
    if flowers[idx].0 > 301 {
        return 0
    }

    // ์ž…๋ ฅ๋ฐ›์€ ๊ฝƒ์ด 1๊ฐœ์ธ ๊ฒฝ์šฐ
    if flowers.count == 1 {
        if flowers[idx].0 == start && flowers[idx].1 > end {
            return 1
        } else {
            return 0
        }
    }

    while idx < flowers.count {
        // ์–ด์ฐจํ”ผ ์ •๋ ฌ, ๋งจ์ฒ˜์Œ๊ฑฐ ์ผ๋‹จ์„ ํƒ
        if max > end {
            break
        }

        if idx == 0 {
            max = flowers[idx].1 // ์ง€๋Š”๋‚ ์ด max
            idx += 1
            answerArr.append(max)
            continue
        }

        // ์ง€๊ธˆ ์ตœ์ข…์œผ๋กœ ์ง€๋Š”๋‚  max๋ณด๋‹ค ์ง€๋Š”๋‚ ์ด ์•ž์„œ๋ฉด ๊ทธ๋ƒฅ pass
        if flowers[idx].1 < max {
            idx += 1
            continue
        }

        // ํ”ผ๋Š”๋‚ ์€ max๋ณด๋‹ค ์ž‘๊ณ , ์ง€๋Š”๋‚ ์€ max๋ณด๋‹ค ํฌ๋ฉด (์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๋ฒ”์œ„๋‚ด)
        if flowers[idx].0 <= max, flowers[idx].1 > max {
            // ์ง€๊ธˆ๊นŒ์ง€ ์ˆœํšŒํ•œ ๊ฝƒ๋“ค ๋‹ค์Œ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ์„ ํƒ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋Š” ๊ฝƒ ์ฐพ์•„์คŒ
            // ์„ ํƒ๊ฐ€๋Šฅ์„ฑ? -> ํ”ผ๋Š”๋‚ ์ด ๋ฒ”์œ„๋‚ด์— ๋“ค์–ด์˜ค๋ฉด์„œ, ์ง€๋Š”๋‚ ์€ ๋” ๋Šฆ๋Š” ๊ฒƒ
            // ์ผ๋‹จ temp์— ์ž„์‹œ๋กœ ์ง€๋Š”๋‚  ์ €์žฅํ•ด์ฃผ๊ณ , ์ด temp๋ณด๋‹ค ํฐ์•  ์ฐพ์•„์ค˜
            temp = flowers[idx].1

            for j in idx+1..<flowers.count {
                // ํ”ผ๋Š”๋‚ ์€ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ์กฑํ•˜๋Š” ๋ฒ”์œ„๋‚ด๊ณ , ์ง€๋Š”๋‚ ์€ ํ˜„์žฌ ์ž…๋ ฅ๋ฐ›์€ temp๋ณด๋‹ค ํฌ๋ฉด?
                if flowers[j].0 <= max, flowers[j].1 > temp {
                    temp = flowers[j].1
                } else {
                    break // ์–ด์ฐจํ”ผ ์ •๋ ฌ์„ ํ•ด๋’€๊ธฐ ๋•Œ๋ฌธ์— ์œ„์— ๋งŒ์กฑ ์•ˆํ•˜๋ฉด passํ•ด์ฃผ๋Š”๊ฒŒ ๋งž์Œ
                }
            }

            max = temp
            answerArr.append(max)
        }

        idx += 1
    }

    print(answerArr)

    if answerArr[answerArr.count-1] <= end {
        return 0
    }

    return answerArr.count
}

print(solution())

์ง„์งœ ๋ฏธ์ณ ๋Œ์•„๊ฐ€์‹œ๊ฒ ๋„ค... ๋„๋Œ€์ฒด ์˜ˆ์™ธ์ผ€์ด์Šค ๋ญ˜ ๋ชป์ฐพ์•„์„œ ๊ณ„์† ํ‹€๋ฆฌ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค ใ… ใ…  

์Œ.. ์–ด๋Š๋ถ€๋ถ„์—์„œ ์•ˆ๋˜๋Š”์ง€ ์ฐพ์•„๋ด์•ผํ•œ๋‹ค ใ… ใ…  ์ผ๋‹จ, ๋ฐฑ์ค€ ์˜ˆ์ œ๋“ค์€ ํ†ต๊ณผํ•˜๊ธด ํ•˜๋Š”๋ฐ, ์ฑ„์ ํ•˜๋Š”๊ฑฐ ๋ณด๋ฉด 1%๋„˜์–ด๊ฐ€๋‹ค๊ฐ€ ๋ฐ”๋กœ ํ‹€๋ ธ๋‹ค๊ณ  ๋‚˜์˜จ๋‹ค. ์ฆ‰, ํ†ต๊ณผํ•˜๋Š” ์ผ€์ด์Šค๊ฐ€ ๊ฑฐ์˜ ์—†๋‹ค๋Š” ๋œป์ด๋‹ค ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๊ทธ๋ƒฅ ๋‹ค ํ‹€๋ ค๋จน์—‡๋‹ค๋Š” ๋œป;
๋‹ค์‹œ ๊ตฌํ˜„ํ•ด์•ผํ•  ์œ„๊ธฐ์— ์ฒ˜ํ–ˆ๋‹ค.... ์•„ ์ด๊ฑฐ ์ง€๊ธˆ ์ดํ‹€์งธ ํ’€๊ณ  ์žˆ๋Š”๋ฐ ใ…‹ใ…‹ใ…‹ 
 

(๋ฉฐ์น  ํ›„,, ์•„๋‹ˆ ์•ฝ ํ•œ ๋‹ฌ ํ›„,,) n์ฐจ์‹œ๋„ ๐Ÿคฏ  ์•„์ง๋„ ๊ณต์ฃผ๋‹˜์€ ์–ด๋ ต๋‹ค 

์•„๋‹ˆ,, ๋‹ค์‹œ ํ’€์–ด๋ณด๊ณ ์ž ์ปดํ“จํ„ฐ๋ฅผ ์ผฐ๋‹ค. ์š”์ฆ˜ ๊ทธ๋ƒฅ ์ฑ„์šฉ์ค€๋น„ + ์ž์†Œ์„œ + ๋ฉด์ ‘ ๋“ฑ ๋•Œ๋ฌธ์— ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋งŽ์ด ํ’€์ง€ ๋ชปํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ตœ์ข…๋ฉด์ ‘๋„ ์ด์ œ ๋๋‚ฌ์œผ๋‹ˆ, ๊ธ‰ํ•œ๋ถˆ์€ ๊ป์œผ๋‹ˆ ๋‹ค์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์ง‘์ค‘ํ•ด๋ณด์ž! ์ž,,, ๊ณต์ฃผ๋‹˜ ๋จผ์ € ์—†์• ๋ฒ„๋ฆฌ์ž ;;  ์ฐจ๊ทผ์ฐจ๊ทผ ์ฒจ๋ถ€ํ„ฐ ๋‹ค์‹œ ํ’€์–ด๋ณด์ž. ๋Œ€์‹ , ๋ฐฉ์‹์€ ๋น„์Šทํ•˜๊ฒŒ ํ’€ ์˜ˆ์ •์ด๋‹ค. go
์•ž์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„ (301๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  ์ž…๋ ฅ๋ฐ›์•„์ฃผ๊ณ  ์ •๋ ฌํ•˜๋Š” ๊ณผ์ •)์€ ๋™์ผํ•˜๊ฒŒ ์ง„ํ–‰ํ–ˆ๊ณ , ๋’ค์— ์ฝ”๋“œ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๋ฐ”๊ฟจ๋‹ค. 

  • ์ฒซ๋ฒˆ์งธ flower์˜ ์‹œ์ž‘์ ์ด 301์ด๋ฉด ๋ฌด์กฐ๊ฑด ์„ ํƒํ•ด์ค€๋‹ค. (๊ฝƒ์ด ์ง€๋Š”๋‚ ์งœ๋Š” ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‚ ์งœ๊ฐ€ ๊ฐ™์œผ๋ฉด ๋ฌด์กฐ๊ฑด ์•ž์—์žˆ๋Š”๊ฑฐ ์„ ํƒํ•˜๋Š”๊ฒŒ ๊ฐ€์žฅ ์ตœ์„ ์ด๋‹ค.)
  • ๋งŒ์•ฝ 301์ด ์•„๋‹Œ๊ฒฝ์šฐ, 301๋ถ€ํ„ฐ ์ ˆ๋Œ€๊ฝƒ์ด ํ•„์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— return 0
  • 301์ด ์กด์žฌํ•œ๋‹ค๋ฉด, start, end ์ง€์ ์„ ์ฒซ๋ฒˆ์งธ ๊ฝƒ์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๊ณ , ๋‹ค์Œ๊ฝƒ๋ถ€ํ„ฐ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฝƒ์„ ์„ ํƒํ•ด ์ค„ ๊ฒƒ์ด๋‹ค.
  • (๋ณ€์ˆ˜์—์„œ) temp๊ฐ€ ๋“ค์–ด๊ฐ„ ๋ณ€์ˆ˜๋Š” ์ˆœํšŒํ•˜๋ฉด์„œ ๋ณด๊ณ ์žˆ๋Š” ๊ฝƒ์„ ์ž„์‹œ๋กœ ์„ ํƒํ–ˆ๋‹ค๋Š” ๋œป์ด๋‹ค.
  • while๋ฌธ์œผ๋กœ idx๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋Œ๋ ค์ค€๋‹ค. idx๋Š” ํ˜„์žฌ ์„ ํƒ๋œ ๊ฝƒ์˜ index๋ฅผ ์˜๋ฏธํ•œ๋‹ค. idx๋กœ ์„ ํƒํ•œ ์ด์œ ๋Š” ์šฐ๋ฆฌ๋Š” ๊ฝƒ์„ ๋ฏธ๋ฆฌ ์ •๋ ฌํ•ด๋‘์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ๋œ ๊ฝƒ ์•ž๋ถ€๋ถ„์€ ๋ณด์ง€ ์•Š์•„๋„ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • start ์™€ end๋Š” ์ฑ„ํƒ๋œ ๊ฝƒ์˜ ํ”ผ๋Š”๋‚ ๊ณผ ์ง€๋Š”๋‚ ์ธ๋ฐ, ์„ ํƒ๋œ ๊ฝƒ์˜ end๊ฐ€ 1130๋ณด๋‹ค ํฌ๋ฉด, ๊ฑฐ๊ธฐ์„œ ๋ฐ”๋กœ ์ •๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • for ๋ฌธ์œผ๋กœ ํ˜„์žฌ idx๋ณด๋‹ค ํ•œ์นธ ๋’ค๋ถ€ํ„ฐ ์ˆœํšŒํ•ด์ค€๋‹ค.
    • ๋งŒ์•ฝ flowers[i]์˜ ํ”ผ๋Š”๋‚ ์ด ํ˜„์žฌ start์™€ ๊ฐ™๋‹ค๋ฉด ๋ณผํ•„์š”๊ฐ€ ์—†๊ณ  (์ง€๋Š”๋‚ ์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ)
    • flowers[i]์˜ ํ”ผ๋Š”๋‚ ์ด ํ˜„์žฌ start์™€ end์‚ฌ์ด์— ์žˆ๊ณ , flowers[i]์˜ ์ง€๋Š”๋‚ ์ด tempEnd๋ณด๋‹ค ํฌ๋ฉด! ๋” ๊ธธ๊ฒŒ ํ”ผ์–ด์žˆ๋‹ค๋Š” ๋œป์ด๊ธฐ ๋•Œ๋ฌธ์— temp๋ฅผ ๊ฐฑ์‹ ํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๊ธฐ์„œ tempEnd์™€ tempStart๋ฅผ ๊ฐฑ์‹ ํ•ด์ฃผ๊ณ , idx๋„ ๊ฐฑ์‹ ํ•ด์ค€๋‹ค.
    • flowers[i]์˜ ์ง€๋Š”๋‚ ์ด tempEnd๋ณด๋‹ค ์ž‘์œผ๋ฉด, ์ˆœํšŒํ•˜๊ณ  ์žˆ๋Š” ๊ฝƒ์€ ์ตœ๋Œ€๊ธธ์ด๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ๋ณผ ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • ์ด ๋ชจ๋“  ๊ณผ์ •์„ ์ˆœ์กฐ๋กญ๊ฒŒ ํ†ต๊ณผํ•˜๋ฉด flowersList์— idx๋ฅผ ๋„ฃ์–ด์ฃผ๊ณ  (์„ ํƒ๋œ๊ฝƒ๋“ค์˜ ์ง‘ํ•ฉ) 
  • start์™€ end์— ํ˜„์žฌ ์„ ํƒ๋œ idx์˜ ํ”ผ๋Š”๋‚ ๊ณผ ์ง€๋Š”๋‚ (temp)์„ ๊ฐฑ์‹ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. 

์ด๋ ‡๊ฒŒ ํ–ˆ๋Š”๋ฐ,,, ๋‹ต์€ ๋งž์€๊ฒƒ ๊ฐ™๋‹ค. ๊ทผ๋ฐ ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ๊ฐ€ ๋‚œ๋‹ค....

import Foundation

func solution() -> Int {
    let n = Int(readLine()!)!
    var flowers = [(Int, Int)]()

    for _ in 0..<n {
        let temp = readLine()!.split(separator: " ").map{ Int($0)! }
        
        if temp[2]*100 + temp[3] < 301 {
            continue
        }
        
        if temp[0]*100 + temp[1] < 301 {
            flowers.append((301, temp[2]*100 + temp[3]))
            continue
        }

        flowers.append((temp[0]*100 + temp[1], temp[2]*100 + temp[3]))
    }
    
    flowers.sort {
        if $0.0 == $1.0 {
            return $0.1 > $1.1
        } else {
            return $0.0 < $1.0
        }
    }

    if flowers[0].0 > 301 {
        return 0
    }

    var start = flowers[0].0
    var end = flowers[0].1
    var flowerList = [0]
    var tempStart = 0
    var tempEnd = 0
    var idx = 0
    var flag = false

    while idx < flowers.count {
        if end > 1130 {
            return flowerList.count
        }

        for i in idx+1..<flowers.count {
            if flowers[i].0 == start {
                continue
            } else if flowers[i].0 > start, flowers[i].0 <= end, tempEnd < flowers[i].1 {
                flag = true
                tempEnd = flowers[i].1
                tempStart = flowers[i].0
                idx = i
            } else if flowers[i].1 <= end {
                continue
            }
        }

        if flag {
            end = tempEnd
            start = tempStart
            flowerList.append(idx)
            flag = false
        }
    }
    
    return flowerList.count
}

print(solution())

 

๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ๐Ÿคฏ

์ง„์งœ ๋ง‰ ์Œ์š•์ด ๋‚˜์˜ค๋„น ํ—คํ—ค ์ž,,, ์ฐจ๊ทผ์ฐจ๊ทผ ๋‹ค์‹œ๋ณด์ž ใ…‹ใ…‹ใ…‹ใ…‹ใ…‹ ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ? ์›์ธ์ด๋ญ์ง€.. ๋‹ต์€ ๋งž์€๊ฑฐ์•ผ ๋ญ์•ผ ; ์ผ๋‹จ ์ฑ„์ ์ด 98%๊นŒ์ง€ ๊ฐ€๋‹ค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ๊ฐ€ ๋‚˜๋Š”๋ฐ,... 
์“ธ๋ฐ์—†์ด for๋ฌธ์ด๋‚˜ while๋ฌธ์ด ๋Œ์•„๊ฐ€๋Š” ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์—ฌ์ค˜์•ผ๊ฒ ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ์™œ๋ƒ๋ฉด, ์šฐ์„  ์ฑ„์ ํ•˜๋Š”๊ฑฐ๋ณด๋ฉด 98%๊นŒ์ง€ ์ „๋ถ€ ์ฒด์ ์„ ํ–ˆ์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ๊ฐ€ ๋‚ฌ๊ธฐ ๋•Œ๋ฌธ. ์ผ๋‹จ ๋‚˜๋ฅผ ๋ฏฟ๊ณ  ์†”๋ฃจ์…˜์€ ๋งž์•˜๋‹ค๊ณ  ํŒ๋‹จํ•ด๋ณด์ž.
ํ˜„์žฌ ์œ„์— ์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด, for๋ฌธ ๋‚ด๋ถ€์—์„œ ์ค‘๊ฐ„์— ๋Š์–ด์ฃผ๋Š” ์ง€์ ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์ „๋ถ€ continue๋กœ ๋„˜๊ธฐ๊ฒŒ ๋œ๋‹ค. ์—ฌ๊ธฐ ๋ถ€๋ถ„์—์„œ ์ค‘๊ฐ„์— ๋Š์–ด์„œ breakํ•ด์ค„ ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ?
์ƒ๊ฐํ•ด๋ณด๋‹ˆ๊นŒ, ๋‹ค์Œ ์ˆœํšŒํ•˜๋ ค๊ณ  ํ•˜๋Š” ๊ฝƒ์ด end๋ณด๋‹ค ๋Šฆ๊ฒŒ ํ”ผ๋ฉด ์šฐ๋ฆฌ๋Š” ์•„๋ฌด๊ฝƒ๋„ ์„ ํƒํ•  ์ˆ˜ ์—†๋‹ค. (๊ฝƒ์€ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ฐ„์ด ํ…… ๋น„๊ฒŒ ๋˜๋Š” ๊ฒƒ์€ ์ •๋‹ต์ด ๋  ์ˆ˜ ์—†๋‹ค!) ๋”ฐ๋ผ์„œ break๋ฅผ ๊ฑธ์–ด์ค„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋งจ์•ž์— ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  tempStart๋„ ๊ตณ์ด ํ•„์š”์—†๋Š” ๋ณ€์ˆ˜์ธ ๊ฒƒ ๊ฐ™์•„์„œ ์‚ญ์ œํ•ด์ฃผ์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๊ณ  ์ง„ํ–‰ํ•œ ๊ฒฐ๊ณผ!!

n+1์ฐจ์‹œ๋„,,,, - ๋งž์•˜์Šต๋‹ˆ๋‹ค!

์ง„์งœ ์—„์ฒญ๋‚˜๋‹ค. ํ•œ๋‹ฌ์ „์ฏค ๊ณต์ฃผ๋‹˜ ๋ฟŒ์‹œ๊ธฐ๊ฐ€ ๋‚ด ๋ชฉํ‘œ์ผ์ •๋„๋กœ ์ง„์งœ ์ŠคํŠธ๋ ˆ์Šค ๋ฐ›์•˜์—ˆ๋Š”๋ฐ, ๋‚˜๋ฆ„ ๋ฉฐ์น  ํ›„, ๋ฆฌํ”„๋ž˜์‰ฌ ํ›„ ์ƒˆ๋กญ๊ฒŒ ๋ฌธ์ œ์— ์ ‘๊ทผํ•ด๋ณด๋‹ˆ ์ƒ๊ฐ๋ณด๋‹ค ๋นจ๋ฆฌ ํ’€๋ ธ๋‹ค. ์ด ๊ณต์ฃผ๋‹˜ ์ด์ž์‹,,,, ๋„ˆ ๋‚ด๊ฐ€ ๋‹ค์‹ ์•ˆ๋ด (ํ•ด์„ํ•˜๊ธฐ ํŽธํ•˜๊ฒŒ ๊ทธ๋ƒฅ ์ฃผ์„๊ณผ print๋ฌธ์„ ์ง€์šฐ์ง€ ์•Š๊ณ  ์ž‘์„ฑํ•ด๋‘ก๋‹ˆ๋‹ค,.)

import Foundation

func solution() -> Int {
    let n = Int(readLine()!)!
    var flowers = [(Int, Int)]()

    for _ in 0..<n {
        let temp = readLine()!.split(separator: " ").map{ Int($0)! }
        // 1์ฐจ๋กœ ์ง€๋Š”๋‚ ์ด 3์›”1์ผ ์ด์ „์ด๋ฉด ์•„์˜ˆ flowers์— ๋„ฃ์–ด์ฃผ์ง€๋„ ์•Š์Œ
        if temp[2]*100 + temp[3] < 301 {
            continue
        }
        // 2์ฐจ๋กœ ํ”ผ๋Š” ๋‚ ์ด 301๋ณด๋‹ค ์ด์ „์ด๋ฉด, ์•„์˜ˆ ๊ทธ๋ƒฅ 301๋กœ ๋ฐ”๊ฟ”์„œ ๋„ฃ์–ด์คŒ
        if temp[0]*100 + temp[1] < 301 {
            flowers.append((301, temp[2]*100 + temp[3]))
            continue
        }
        // 3์ฐจ๋กœ ๊ทธ ์ค‘๊ฐ„ ๋ฒ”์œ„์— ํฌํ•จ๋˜๋Š” ์• ๋“ค์€ ๊ฑ ๋„ฃ์–ด์คŒ
        flowers.append((temp[0]*100 + temp[1], temp[2]*100 + temp[3]))
    }

    // ํ”ผ๋Š”๋‚  ์˜ค๋ฆ„์ฐจ์ˆœ, ๊ฐ™์œผ๋ฉด ์ง€๋Š”๋‚ ์€ ๋‚ด๋ฆผ์ฐจ์ˆœ (๊ธธ์ˆ˜๋ก ์•ž์—์œ„์น˜)
    flowers.sort {
        if $0.0 == $1.0 {
            return $0.1 > $1.1
        } else {
            return $0.0 < $1.0
        }
    }

    print(flowers)

    if flowers[0].0 > 301 {
        return 0
    }

    var start = flowers[0].0
    var end = flowers[0].1
    var flowerList = [0] // ์ฒซ๋ฒˆ์งธ๊ฝƒ ๋ฌด์กฐ๊ฑด ์„ ํƒ (์ด๊ฑฐ ์ˆ˜์ •ํ•ด์•ผํ•จ. ๋งŒ์•ฝ 301๋ณด๋‹ค ์ดํ›„๋ฉด?)
    var tempEnd = 0
    var idx = 0
    var flag = false

    while idx < flowers.count {
        if end > 1130 {
            // ๋‹ต์€ ๋ฌด์กฐ๊ฑด 1201์ด์ƒ์ด์–ด์•ผํ•จ.
            print("flowerlist \(flowerList)")
            return flowerList.count
        }

        for i in idx+1..<flowers.count {
            if flowers[i].0 > end { // ๋‹ค์Œ๊ฝƒ์ด end๋ณด๋‹ค ๋Šฆ๊ฒŒ ํ”ผ๋ฉด, ๋‚˜๊ฐ€๋„๋ผ
                break
            }

            if flowers[i].0 == start {
                continue
            } else if flowers[i].0 > start, flowers[i].0 <= end, tempEnd < flowers[i].1 {
                // ์ˆœํšŒ์ค‘์ธ ๊ฝƒ์˜ ์‹œ์ž‘์ ์ด ๋ฒ”์œ„๋‚ด์— ์žˆ๊ณ , ์ด์ „์— ๋น„๊ตํ•ด์˜จ tempEnd๋ณด๋‹ค ๊ธธ๋ฉด ๊ทธ๊ฑฐ์„ ํƒํ•ด์•ผํ•˜๋‹ˆ๊นŒ temp ๊ฐฑ์‹ 
                flag = true
                tempEnd = flowers[i].1
                idx = i // idx๊ฐฑ์‹ ํ•ด์ค˜์•ผํ•ด ์ง€๊ธˆ ๊ทธ ์œ„์น˜์—์žˆ๋Š” ๊ฝƒ ์„ ํƒํ–ˆ๋‹ค๊ณ  ์•Œ๋ ค์ค˜์•ผํ•ด.
            } else if flowers[i].1 <= end { // end๋ณด๋‹ค ์งง์œผ๋ฉด ๋ณผํ•„์š”๋„ ์—†์Œ
                continue
            }
        }

        if flag {
            end = tempEnd
            start = flowers[idx].0
            flowerList.append(idx)
            flag = false
        } else {
            print("์•„๋ฌด๊ฒƒ๋„ ์„ ํƒ ์•ˆ๋œ๊ฑฐ์ž„? ๊ทธ๋Ÿผ ์ค‘๊ฐ„์— ๋น„์—ˆ๋‹จ ๋œป 0")
            return 0
        }
    }

    return flowerList.count
}

print(solution())

 
 
์•„ ๊ณต์ฃผ๋‹˜ ํƒˆ์ถœ!!! ์™„๋ฃŒ!!!!! ํ–‰๋ณต ๊ทธ์žก์ฑ„ ๐Ÿ‘ธ๐Ÿป

๋ฐ˜์‘ํ˜•