๊ธฐ๋ก๋ฐฉ

Lv.2 : ์˜์–ด ๋๋ง์ž‡๊ธฐ ๋ณธ๋ฌธ

CodingTest/Java

Lv.2 : ์˜์–ด ๋๋ง์ž‡๊ธฐ

Soom_1n 2023. 9. 12. 09:00

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

 

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

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

programmers.co.kr



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

  • ์ธ์› ์ˆ˜ n๊ณผ ๋๋ง์ž‡๊ธฐ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ด ์ž…๋ ฅ๋œ๋‹ค.
  • ๋ช‡ ๋ฒˆ์งธ ์ธ์›์ด ์ž์‹ ์˜ ๋ช‡ ๋ฒˆ์งธ ์ฐจ๋ก€์—์„œ ํ‹€๋ ธ๋Š”์ง€ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ์•„๋ฌด๋„ ํ‹€๋ฆฌ์ง€ ์•Š์•˜๋‹ค๋ฉด [0, 0] ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

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

  • ๊ฐ ๋ฌธ์ž์—ด๋งˆ๋‹ค ์ง์ „ ๋ฌธ์ž์˜ ๋ ๋ฌธ์ž๋ฅผ ์ž‡๋Š”์ง€, ์ด๋ฏธ ๋‚˜์™”๋˜ ๋ฌธ์ž๋Š” ์•„๋‹Œ์ง€ ํ™•์ธํ•œ๋‹ค.
    • ๋งŒ์•ฝ ๋‚˜์™”๋˜ ๋ฌธ์ž๋ผ๋ฉด, ์ธ์› ๋ฒˆํ˜ธ์™€ ๊ทธ ์ฐจ๋ก€๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•œ๋‹ค.

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

import java.util.Set;
import java.util.HashSet;

class Solution {
    public int[] solution(int n, String[] words) {
        int cnt = 0;
        int idx = 0;
        
        Set<String> set = new HashSet<>();
        
        String before = words[0];
        set.add(words[0]);
        
        for(int i = 1; i < words.length; i++) {
            if(words[i].charAt(0) != before.charAt(before.length()-1) ||
                set.contains(words[i])) {
                cnt = i / n + 1;
                idx = i % n + 1;
                break;
            } else {
                set.add(words[i]);
                before = words[i];
            }
        }

        return new int[]{idx, cnt};
    }
}

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

  • ์ง์ „ ๋ฌธ์ž์—ด์€ before์— ์ €์žฅํ•ด ๋น„๊ตํ•œ๋‹ค.
  • ๋‚˜์™”๋˜ ๋ฌธ์ž์—ด์ธ์ง€ ํ™•์ธ์€ HashSet์— ์ €์žฅํ•ด contains()๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ”ธ end ๐Ÿ”ธ

  • Set์„ ์•Œ๊ณ ์žˆ์œผ๋ฉด ๊ฐ„๋‹จํžˆ ํ’€์ดํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๋ฌธ์ œ์ด๋‹ค.

728x90

'CodingTest > Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Lv.2 : ์ ํ”„์™€ ์ˆœ๊ฐ„ ์ด๋™  (0) 2023.09.14
Lv.2 : ๊ตฌ๋ช…๋ณดํŠธ  (0) 2023.09.12
Lv.2 : ์นดํŽซ  (0) 2023.09.12
Lv.2 : ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ  (0) 2023.09.08
Lv.2 : ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜  (0) 2023.09.08