[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ฃผ์‹๊ฐ€๊ฒฉ/Java - Lv.2

2024. 9. 29. 00:48ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

 

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

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

programmers.co.kr

๐Ÿ“Œ์œ ํ˜•

์Šคํƒ ๋˜๋Š” ํ ๋˜๋Š” ๋‹จ์ˆœ ๋ฐ˜๋ณต๋ฌธ

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

ํ˜„์žฌ ์ฃผ์‹๊ฐ€๊ฒฉ์ด ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ๋ฐ”๋€ ๊ฐ€๊ฒฉ์ด ํ˜„์žฌ ๊ฐ€๊ฒฉ๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ํฌ๋‹ค๋ฉด ์‹œ๊ฐ„์„ ๊ณ„์† 1์”ฉ ์ฆ๊ฐ€.
ํ˜„์žฌ ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ž‘์•„์ง„๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋ฉˆ์ถค.

๐Ÿ’ป์ฝ”๋“œ

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

class Solution {
    public int[] solution(int[] prices) {
        int[] answer = new int[prices.length];
        
        for(int i = 0; i < prices.length; i++)
            for(int j = i + 1; j < prices.length; j++){
                answer[i]++;
                if(prices[i] > prices[j])
                    break;
            }
        
        return answer;
    }
}
/** ํ๋ฅผ ์‚ฌ์šฉํ•œ ํ’€์ด**/
import java.util.*;

class Solution {
    public int[] solution(int[] prices) {
        int[] answer = new int[prices.length];
        
        Queue<Integer> q = new LinkedList<>();
        
        for(int i : prices)
            q.offer(i);
        
        int i = 0;
        while(!q.isEmpty()){
            int current = q.poll();
            
            for(int x : q){
                answer[i]++;
                if(current > x) break;
            }
            
            i++;
        }
        
        return answer;
    }
}

๐Ÿ’ก์ƒˆ๋กœ ๋ฐฐ์šด ๋‚ด์šฉ

**Queue**
- Queue๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋กœ FIFO ์ž๋ฃŒ๊ตฌ์กฐ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜.
- LinkedList ๊ฐ์ฒด๋ฅผ Queue ์ธํ„ฐํŽ˜์ด์Šค ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.
**์„ ์–ธ**
- Queue<์ž๋ฃŒํ˜•> q = new LinkedList<>(); ์ž๋ฃŒํ˜•์„ ๋„ฃ์€ ๊ฒฝ์šฐ ํ•ด๋‹น ์ž๋ฃŒํ˜•๋งŒ ์‚ฝ์ž…, ์‚ญ์ œ ๊ฐ€๋Šฅ.
- Queue ๋ณ€์ˆ˜๋ช… = new LinkedList(); ์–ด๋–ค ์ž๋ฃŒํ˜•์ด๋“  ์‚ฝ์ž…, ์‚ญ์ œ ๊ฐ€๋Šฅ. (์˜ˆ๋ฅผ ๋“ค์–ด, intํ˜•์„ ๋„ฃ์—ˆ๋‹ค๊ฐ€ Stringํ˜•์„ ์‚ฝ์ž… ๊ฐ€๋Šฅ.)
**์‚ฝ์ž…**
- q.add(value); ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ true ์‹คํŒจ ์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ.
- q.offer(value); ์‚ฝ์ž… ์„ฑ๊ณต ์‹œ true ์‹คํŒจ ์‹œ false ๋ณ€ํ™˜.
**์‚ญ์ œ**
- q.remove(); ์‚ญ์ œ๋œ value ๋ฐ˜ํ™˜ ๊ณต๋ฐฑ ํ์ด๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ.
- q.remove(value); ํ์— ํ•ด๋‹น ๊ฐ’์ด ์กด์žฌํ•˜๋ฉด ํ•ด๋‹น ๊ฐ’ ์‚ญ์ œ ํ›„ true ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด false.
- q.poll(); ์‚ญ์ œ๋œ value ๋ฐ˜ํ™˜ ๊ณต๋ฐฑ ํ์ด๋ฉด null ๋ฐ˜ํ™˜.
**ํ front**
- q.element(); ํ front์— ์œ„์น˜ํ•œ value ๋ฐ˜ํ™˜ ๊ณต๋ฐฑ์ด๋ฉด ์˜ˆ์™ธ ๋ฐœ์ƒ.
- q.peek(); ํ front์— ์œ„์น˜ํ•œ value ๋ฐ˜ํ™˜ ๊ณต๋ฐฑ์ด๋ฉด null ๋ฐ˜ํ™˜.
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[๋ฐฑ์ค€] 14889.์Šคํƒ€ํŠธ์™€ ๋งํฌ/Java - Silver1  (1) 2024.09.29
[๋ฐฑ์ค€] 15649.N๊ณผ M (1)/Java - Silver3  (0) 2024.09.29
[๋ฐฑ์ค€] 28278. ์Šคํƒ 2/Java - Silver4  (0) 2024.09.28
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆœ์œ„/Python - Lv.3  (1) 2024.09.28
[๋ฐฑ์ค€] 2750. ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ/Java - Bronze2  (1) 2024.09.28
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๋ฐฑ์ค€] 14889.์Šคํƒ€ํŠธ์™€ ๋งํฌ/Java - Silver1
  • [๋ฐฑ์ค€] 15649.N๊ณผ M (1)/Java - Silver3
  • [๋ฐฑ์ค€] 28278. ์Šคํƒ 2/Java - Silver4
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆœ์œ„/Python - Lv.3
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178) N
      • 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 (92) N
        • Algorithms (84) N
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

  • ๋งํฌ

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

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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