[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ๋ฐฐ์ƒ์ž/Java - Lv.2

2024. 10. 24. 11:37ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

 

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

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

์„ฑ๋Šฅ ์š”์•ฝ

๋ฐ˜๋ณต๋ฌธ โžก๏ธ ๋ฉ”๋ชจ๋ฆฌ: 132 MB, ์‹œ๊ฐ„: 189.21 ms

ํ โžก๏ธ ๋ฉ”๋ชจ๋ฆฌ: 190 MB, ์‹œ๊ฐ„: 191.63 ms

๋ฌธ์ œ ์„ค๋ช…

ํƒ๋ฐฐ์ƒ์ž๋Š” ํฌ๊ธฐ๊ฐ€ ๋ชจ๋‘ ๊ฐ™์œผ๋ฉฐ 1๋ฒˆ ์ƒ์ž๋ถ€ํ„ฐ n๋ฒˆ ์ƒ์ž๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ฆ๊ฐ€ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ์— ์ผ๋ ฌ๋กœ ๋†“์—ฌ ์ „๋‹ฌ๋ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ๋Š” ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ง„ํ–‰์ด ๊ฐ€๋Šฅํ•ด์„œ ๋ฒจํŠธ์— ๋†“์ธ ์ˆœ์„œ๋Œ€๋กœ(1๋ฒˆ ์ƒ์ž๋ถ€ํ„ฐ) ์ƒ์ž๋ฅผ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํƒ๋ฐฐ ๊ธฐ์‚ฌ๋‹˜์ด ๋ฏธ๋ฆฌ ์•Œ๋ ค์ค€ ์ˆœ์„œ์— ๋งž๊ฒŒ ํƒ๋ฐฐ์ƒ์ž๋ฅผ ์‹ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ์˜ ๋งจ ์•ž์— ๋†“์ธ ์ƒ์ž๊ฐ€ ํ˜„์žฌ ํŠธ๋Ÿญ์— ์‹ค์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ทธ ์ƒ์ž๋ฅผ ํŠธ๋Ÿญ์— ์‹ค์„ ์ˆœ์„œ๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ ์ž ์‹œ ๋ณด์กฐ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ์— ๋ณด๊ด€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ณด์กฐ ์ปจํ…Œ์ด๋„ˆ ๋งจ ์•ž์˜ ์ƒ์ž๋งŒ ๋บ„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ฆ‰, ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ๋ณด์กฐ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ์— ๋ณด๊ด€ํ•œ ์ƒ์ž๋ถ€ํ„ฐ ๊บผ๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค).

๋ณด์กฐ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ๋ฅผ ์ด์šฉํ•ด๋„ ๊ธฐ์‚ฌ๋‹˜์ด ์›ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ƒ์ž๋ฅผ ์‹ฃ์ง€ ๋ชป ํ•œ๋‹ค๋ฉด, ๋” ์ด์ƒ ์ƒ์ž๋ฅผ ์‹ฃ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.


์ œํ•œ์‚ฌํ•ญ

  • 1 ≤ order์˜ ๊ธธ์ด ≤ 1,000,000
  • order๋Š” 1์ด์ƒ order์˜ ๊ธธ์ด ์ดํ•˜์˜ ๋ชจ๋“  ์ •์ˆ˜๊ฐ€ ํ•œ๋ฒˆ์”ฉ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค.
  • order[i]๋Š” ๊ธฐ์กด์˜ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ์— order[i]๋ฒˆ์งธ ์ƒ์ž๋ฅผ i+1๋ฒˆ์งธ๋กœ ํŠธ๋Ÿญ์— ์‹ค์–ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

order result
[4, 3, 1, 2, 5] 2
[5, 4, 3, 2, 1] 5

โœ๐Ÿปํ’€์ด

ํƒ๋ฐฐ ๊ธฐ์‚ฌ๋‹˜์ด ์›ํ•˜๋Š” ์ˆœ์„œ๋กœ ํƒ๋ฐฐ ์ƒ์ž๋ฅผ ์ฐจ์— ์‹ฃ์„ ๋•Œ,
๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ(๋ฐ˜๋ณต๋ฌธ or ํ)์™€ ์ˆœ์„œ๊ฐ€ ๋งž์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ณด์กฐ ์ปจํ…Œ์ด๋„ˆ ๋ฒจํŠธ(์Šคํƒ)์— ๋„ฃ๋Š”๋‹ค.
์ดํ›„ ๋ณด์กฐ ์ปจํ…Œ์ดํ„ฐ ๋ฒจํŠธ์˜ ๋งจ ์•ž์˜ ์ƒ์ž๊ฐ€ ์›ํ•˜๋Š” ์ˆœ์„œ๋ผ๋ฉด ์ด๋ฅผ ๊บผ๋‚ธ๋‹ค.
์›ํ•˜๋Š” ์ˆœ์„œ์™€ ๋งž์„ ๋•Œ๋งˆ๋‹ค answer + 1์„ ํ•œ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

/** ์Šคํƒ๊ณผ ํ ์ด์šฉํ•œ ํ’€์ด **/
import java.util.*;

class Solution {
    public int solution(int[] order) {
        int answer = 0;
        Stack<Integer> s = new Stack<>();
        Queue<Integer> q = new LinkedList<>();

        for(int i = 1; i <= order.length; i++){
            q.add(i);
        }

        int i = 0;
        while(!q.isEmpty()){
            int o = q.poll();
            if(o != order[i]){
                s.push(o);
            }
            else {
                i++;
                answer++;
                while(!s.isEmpty() && s.peek() == order[i]){
                    s.pop();
                    answer++;
                    i++;
                }
            }
        }

        return answer;
    }
}

 

/** ๋ฐ˜๋ณต๋ฌธ๊ณผ ์Šคํƒ์„ ์ด์šฉํ•œ ํ’€์ด **/
import java.util.*;

class Solution {
    public int solution(int[] order) {
        int answer = 0;
        Stack<Integer> s = new Stack<>();
        int idx = 0;
        for(int i = 1; i <= order.length; i++){
            s.add(i);
            while(!s.isEmpty() && s.peek() == order[idx]){
                s.pop();
                answer++;
                idx++;
            }
        }

        return answer;
    }
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์†Œ์ˆ˜ ์ฐพ๊ธฐ/Python - Lv.2  (0) 2024.10.25
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [3์ฐจ] ์••์ถ•/Python - Lv.2  (3) 2024.10.24
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ• ์ธํ–‰์‚ฌ/Java - Lv.2  (0) 2024.10.21
[๋ฐฑ์ค€] 1904.01ํƒ€์ผ/Java - Silver3  (0) 2024.10.15
[๋ฐฑ์ค€] 9461.ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด/Java - Silver3  (0) 2024.10.15
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์†Œ์ˆ˜ ์ฐพ๊ธฐ/Python - Lv.2
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] [3์ฐจ] ์••์ถ•/Python - Lv.2
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํ• ์ธํ–‰์‚ฌ/Java - Lv.2
  • [๋ฐฑ์ค€] 1904.01ํƒ€์ผ/Java - Silver3
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (173)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (87)
        • Algorithms (79)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    ๋ฆฌ๋ˆ…์Šค
    Shell Script
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    Shell
    ์˜ค๋ธ”์™„
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ๋„คํŠธ์›Œํฌ
    ๋„์ปค
    network
    ์ž๋ฐ”
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    docker
    Java
    ๋ฐฑ์ค€
    dfs
    Baekjoon
    Linux
    Kubernetes
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    K8s
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    programmers
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    bfs
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ํƒ๋ฐฐ์ƒ์ž/Java - Lv.2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”