๊ธฐ๋ก๋ฐฉ

Lv.2 : ์š”๊ฒฉ ์‹œ์Šคํ…œ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ์š”๊ฒฉ ์‹œ์Šคํ…œ

Soom_1n 2023. 11. 29. 14:29

๐Ÿ‘‰ ๋ฌธ์ œ๋งํฌ

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr



๐Ÿ”ธ ๋ฌธ์ œ ๋ถ„์„ ๐Ÿ”ธ

  • x์ถ•์— ํ‰ํ–‰ํ•œ ๋ฏธ์‚ฌ์ผ๋“ค์˜ ์‹œ์ž‘๊ณผ ๋ ์ธ๋ฑ์Šค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
  • ์š”๊ฒฉ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋ฏธ์‚ฌ์ผ๋“ค์˜ ๋ฒ”์œ„์— ํ•ด๋‹นํ•˜๋Š” ๊ณณ์„ ์„ ํƒํ•ด์•ผํ•˜๋ฉฐ ๋ ์ธ๋ฑ์Šค์— ๊ฑธ์น  ์ˆ˜๋Š” ์—†๋‹ค.
  • ์š”๊ฒฉ์— ํ•„์š”ํ•œ ๋ฏธ์‚ฌ์ผ์˜ ์ตœ์†Œ ์ˆ˜๋ฅผ ๊ตฌํ•œ๋‹ค.

๐Ÿ”ธ ๋ฌธ์ œ ํ’€์ด ๐Ÿ”ธ

  • ์ตœ์†Œํ•œ์˜ ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ ๊ฐœ์ˆ˜๋กœ ์ตœ๋Œ€ํ•œ ๋งŽ์€ ์ˆ˜์˜ ํญ๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์š”๊ฒฉํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ทธ๋ฆฌ๋”” ๋ฌธ์ œ๋กœ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  • ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ๋ฒ”์œ„๊ฐ€ ๊ฒน์น˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋น ๋ฅด๊ฒŒ ์•Œ๊ธฐ ์œ„ํ•ด ๋ ์ธ๋ฑ์Šค๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • ๋ฌธ์ œ์—์„œ์˜ ์ œํ•œ ์‚ฌํ•ญ์œผ๋กœ ์‹ค์ˆ˜ ์ขŒํ‘œ๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋ ์ธ๋ฑ์Šค์— ๊ฒน์น˜๋ฉด ์•ˆ๋œ๋‹ค.
    • ์ด์ „ ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ๋ ์ธ๋ฑ์Šค๊ฐ€ ๋‹ค์Œ ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด ์ƒˆ๋กœ์šด ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์ด์•ผํ•œ๋‹ค.

๐Ÿ”ธ ์ฝ”๋“œ ๐Ÿ”ธ

import java.util.Arrays;

class Solution {
    public int solution(int[][] targets) {
        Arrays.sort(targets, (o1, o2) -> o1[1]-o2[1]);

        int beforeEnd = 0;
        int answer = 0;

        for (int i = 0; i < targets.length; i++) {
            if (beforeEnd <= targets[i][0]) {
                beforeEnd = targets[i][1];
                answer++;
            }
        }

        return answer;
    }
}

๐Ÿ”ธ ์ฝ”๋“œ ํ•ด์„ ๐Ÿ”ธ

  • ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ ์ •๋ณด๋ฅผ ๋‹ด์€ ์ด์ฐจ์› ๋ฐฐ์—ด targets๋ฅผ ๋ ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค.
  • int ๋ณ€์ˆ˜ beforeEnd์— ์ด์ „ ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ๋ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•œ๋‹ค.
  • ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ๊ฐœ์ˆ˜๋ฅผ answer์— ์ €์žฅํ•ด ์นด์šดํŠธํ•œ๋‹ค.
  • targets์˜ ๊ธธ์ด๋งŒํผ ๊ณ„์‚ฐ์„ ๋ฐ˜๋ณตํ•œ๋‹ค.
    • ์ด์ „ ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์˜ ๋ ์ธ๋ฑ์Šค beforeEnd๋ณด๋‹ค ํ˜„์žฌ ๋ฏธ์‚ฌ์ผ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค๊ฐ€ ํฌ๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฉด, ์ƒˆ๋กœ์šด ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์ด ํ•„์š”ํ•˜๋‹ค.
    • beforeEnd์— ํ˜„์žฌ ๋ฏธ์‚ฌ์ผ์˜ ๋ ์ธ๋ฑ์Šค๋ฅผ ์ €์žฅํ•˜๊ณ , answer + 1ํ•œ๋‹ค.
  • answer์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • ์ฒ˜์Œ์—” ์ •๋ ฌ์„ ์ƒ๊ฐํ•˜์ง€๋ชปํ•˜๊ณ , ๋ชจ๋“  x์ขŒํ‘œ ์ธ๋ฑ์Šค๋ฅผ ๋ฐฐ์—ด ํ˜น์€ ๋งต์œผ๋กœ ์ €์žฅํ•ด์„œ ๊ฒน์น˜๋Š” ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ ๋ฒˆํ˜ธ๋ฅผ ์นด์šดํŠธํ•˜๊ณ , ์ตœ๋Œ€๊ฐ’์œผ๋กœ ๊ฒน์น˜๋Š” ๋ถ€๋ถ„์—์„œ ์š”๊ฒฉ ๋ฏธ์‚ฌ์ผ์„ ์˜๋Š” ๋ฐฉ์‹์œผ๋กœ ํ’€์ดํ–ˆ๋‹ค.
    • ํฌ๊ฒฉ ๋ฏธ์‚ฌ์ผ์ด ์ตœ๋Œ€ 50๋งŒ๊ฐœ, x์ขŒํ‘œ๋Š” 1์–ต๊นŒ์ง€ ๊ฐ€๋ฏ€๋กœ ์‹œ๊ฐ„์ดˆ๊ณผ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฌ๊ณ , ํ‹€๋ฆฌ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค.
    • ์งˆ์˜์‘๋‹ต์„ ์ฐธ๊ณ ํ•ด์„œ ์ •๋ ฌ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ–ˆ๋‹ค.
  • ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ž˜๋ชป ์„ ํƒํ•˜๊ธด ํ–ˆ์ง€๋งŒ, Map์— ๊ด€๋ จํ•ด์„œ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š”๋ฐ stream์„ ์ด์šฉํ•ด์„œ ํ’€์–ด๋ณด๊ณ ์ž GPT๋ฅผ ์ฐธ๊ณ ํ•ด ์ฝ”๋“œ๋ฅผ ์งฐ์—ˆ๋Š”๋ฐ, ์ ๋‹นํžˆ ์—ฐ์Šต์ด ๋œ ๊ฒƒ ๊ฐ™๋‹ค.
    • FE๊ฐœ๋ฐœ์—๋งŒ CSS๋‚˜ JS ๊ตฌํ˜„์—์„œ GPT๋ฅผ ์ด์šฉํ–ˆ๋Š”๋ฐ, stream ๊ด€๋ จํ•ด์„œ๋„ GPT๋ฅผ ๋งŽ์ด ์ฐธ๊ณ ํ•ด์•ผ๊ฒ ๋‹ค.

728x90