- Today
- Total
- μλ°μμ μ
- dp
- ꡬν
- λ¬Έλ²
- 그리λ
- μλ£κ΅¬μ‘°
- Graph
- μ‘Έμ μν
- μΈν΄
- PS
- tree
- CS
- λ€μ΅μ€νΈλΌ
- leetcode
- OOP
- 벨λ§ν¬λ
- νλ‘κ·Έλλ¨Έμ€
- pytorch
- spring
- λ°±μ€
- array
- λ°±μλ
- database
- BFS
- λ°μ΄ν°λ² μ΄μ€
- μλ°
- java
- μμμ λ ¬
- Algorithm
- MST
Partially Committed
[Algorithm] Palindrome Check λ³Έλ¬Έ
μ€λ λ€λ€λ³Ό μν©μ λ¬Έμμ΄μ΄ μ£Όμ΄μ‘μ λ, Palindrome μΈμ§ μλμ§ Check νλ κ²μ΄λ€. Palindrome μ΄λ String μ κ±°κΎΈλ‘ λ€μ§μμ λ μλ³Έμ΄λ λμΌν κ²μ μλ―Ένλ€. μλ₯Ό λ€μ΄ abcdcba λ reverse ν΄λ abcdcba μ΄λ―λ‘ Palindrome μ΄λ€. μ΄λ»κ² μκ³ λ¦¬μ¦μ ꡬμ±ν μ μμκΉ?
κ°μ₯ λ¨Όμ λ μ¬λ¦΄ μ μλ νμ΄λ μ€μ λ‘ λ¬Έμμ΄μ λ€μ§μ λ€μ μλ λ¬Έμμ΄κ³Ό λΉκ΅ν΄μ κ°μμ§ μλμ§λ₯Ό νλ¨νλ κ²μ΄λ€. μλμ κ°μ΄ μ½λλ₯Ό μμ±ν μ μλ€.
using namespace std;
// time : O(N)
// space : O(N)
bool isPalindrome(string str) {
// Write your code here.
string reverse = "";
for (int i = str.size() - 1; i >= 0; i--) {
reverse.push_back(str[i]);
}
if (str == reverse) return true;
return false;
}
μμ κ°μ΄ μμ±ν κ²½μ°, μκ° λ³΅μ‘λ O(N) 곡κ°λ³΅μ‘λ O(N) μ ν΄κ²°ν μ μλ€.
λ³΄λ€ ν¨μ¨μ μΈ λ°©λ²μ ν¬ν¬μΈν° μκ³ λ¦¬μ¦μ μ΄μ©νλ κ²μ΄λ€. λ¬Έμμ΄μ μμκ³Ό λμ μΈλ±μ€λ₯Ό μλ―Ένλ left μ right λ₯Ό μ΄μ©νμ¬ string[left] μ string[right] λ₯Ό λΉκ΅νλ κ²μ΄λ€. μ½λλ μλμ κ°μΌλ©° μκ° λ³΅μ‘λ O(N), κ³΅κ° λ³΅μ‘λ O(1) μ ν΄κ²°ν μ μλ€.
using namespace std;
// time : O(N)
// space : O(1)
bool isPalindrome(string str) {
// Write your code here.
int left = 0; int right = str.size() - 1;
while (left < right) {
if (str[left++] != str[right--]) return false;
}
return true;
}
https://github.com/versatile0010/AlgoExpert
'π₯ Algorithm || λ¬Έμ νμ΄ > PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 1912] μ°μν© (JAVA) (0) | 2023.01.16 |
---|---|
[λ°±μ€ 1043] κ±°μ§λ§(JAVA) - Union&Find (0) | 2023.01.16 |
[Algorithm] Non-Constructible Value (0) | 2022.10.25 |
[Algorithm] Tournament Winner (0) | 2022.10.25 |
[Algorithm] Sorted squared array λ°ννκΈ° (0) | 2022.10.24 |