우규이인우윀
Eager To Learn 🌌
우규이인우윀
전체 방문자
였늘
μ–΄μ œ

λΈ”λ‘œκ·Έ 메뉴

  • 🏑 ν™ˆ
  • πŸš€ κΉƒν—ˆλΈŒ
  • β›… νƒœκ·Έ ν΄λΌμš°λ“œ
  • λΆ„λ₯˜ 전체보기 (217)
    • πŸ‘¨πŸ»‍πŸ’» PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm 기법 (1)
      • 바킹독 (21)
    • λΈ”λ‘œκ·Έ 이사 (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • 자료ꡬ쑰 (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • κ°œλ°œμ„œμ  (15)
      • 가상 λ©΄μ ‘ μ‚¬λ‘€λ‘œ λ°°μš°λŠ” λŒ€κ·œλͺ¨ μ‹œμŠ€ν…œ 섀계 기초 (1)
      • 였브젝트 - 쑰영호 (7)
      • μΉœμ ˆν•œ SQL νŠœλ‹ (7)
    • 회고 (2)
hELLO Β· Designed By μ •μƒμš°.
우규이인우윀

Eager To Learn 🌌

πŸ‘¨πŸ»‍πŸ’» PS/LeetCode 150

[Java] 530. Minimum Absolute Difference in BST

2023. 9. 6. 09:13

문제 νŒŒμ•…

트리 μ•ˆμ— μ‘΄μž¬ν•˜λŠ” μž„μ˜μ˜ 두 λ…Έλ“œμ˜ μ°¨ 쀑 μ΅œμ†Ÿκ°’μ„ λ°˜ν™˜ν•΄μ•Όν•œλ‹€.

 


풀이

1️⃣ μ€‘μœ„ 순회λ₯Ό μ΄μš©ν•œ 풀이

πŸ’‘ λ– μ˜€λ₯Έ Idea

λ…Έλ“œ κ΅¬μ‘°μ—μ„œ μ€‘μœ„ 순회λ₯Ό ν•˜λ©΄μ„œ λ…Έλ“œ 값을 좜λ ₯ν•˜λ©΄ μ˜€λ¦„μ°¨μˆœμœΌλ‘œ μ •λ ¬λœ 데이터λ₯Ό 얻을 수 μžˆλ‹€λŠ” νŠΉμ§•μ„ μ΄μš©ν•˜μ˜€λ‹€.

첫번째 λ…Έλ“œλŠ” 이전 λ…Έλ“œκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ, 계산을 μƒλž΅ν•œλ‹€. 그리고 이전 λ…Έλ“œ 값에 기둝해쀀닀.

λ‘λ²ˆμ§Έ λ…Έλ“œμ— λ„λ‹¬ν–ˆμ„ λ•Œ, 이전 λ…Έλ“œ κ°’κ³Όμ˜ 차이λ₯Ό κ΅¬ν•˜κ³  κ°±μ‹ ν•œλ‹€. κ°±μ‹  ν›„, 이전 λ…Έλ“œ 값에 λ‘λ²ˆμ§Έ 값을 기둝해쀀닀.

....

μœ„ 과정을 λ°˜λ³΅ν•˜λŠ” 방식이닀.

 

 

class Solution {
    int ans = Integer.MAX_VALUE;
    Integer prev = null;

    public int getMinimumDifference(TreeNode root) {
        inOrder(root);
        return ans;
    }

    public void inOrder(TreeNode node) {
        if (node == null) {
            return;
        }
        inOrder(node.left);

        if (prev == null) {
            prev = node.val;
        } else {
            ans = Math.min(ans, Math.abs(prev - node.val));
            prev = node.val;
        }

        inOrder(node.right);
    }
}

 

κ²°κ³Ό


πŸ“– 회고

κ·Έλ™μ•ˆ TreeSet μ΄λ‚˜ TreeMap 같은 μ •μ˜λœ 자료ꡬ쑰만 μ‚¬μš©ν–ˆμ—ˆλ‹€.

 

이번 λ¬Έμ œλŠ”, 트리의 원리λ₯Ό 잘 νŒŒμ•…ν•˜κ³  μžˆμ§€ μ•ŠμœΌλ©΄ ν•΄κ²°ν•  수 μ—†λŠ” λ¬Έμ œμ˜€λ‹€.

 

이번 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œ, 트리의 μ •μ˜μ™€ 원리λ₯Ό λ‹€μ‹œ μ°Ύμ•„λ³΄κ²Œ λ˜μ—ˆκ³ 

 

λ”°λΌμ„œ 쒋은 문제라고 μƒκ°ν•œλ‹€.

 

 

    'πŸ‘¨πŸ»‍πŸ’» PS/LeetCode 150' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
    • [Java] 199. Binary Tree Right Side View
    • [Java] 230. Kth Smallest Element in a BST
    • [Java] 153. Find Minimum in Rotated Sorted Array
    • [Java] 33. Search in Rotated Sorted Array
    우규이인우윀
    우규이인우윀
    개발자 κΏˆλ‚˜λ¬΄

    ν‹°μŠ€ν† λ¦¬νˆ΄λ°”