https://school.programmers.co.kr/learn/courses/30/lessons/12985#
λ¬Έμ μ€λͺ
β³β³ κ²μλνκ° κ°μ΅λμμ΅λλ€. μ΄ λνλ Nλͺ μ΄ μ°Έκ°νκ³ , ν λλ¨ΌνΈ νμμΌλ‘ μ§νλ©λλ€. Nλͺ μ μ°Έκ°μλ κ°κ° 1λΆν° Nλ²μ μ°¨λ‘λλ‘ λ°°μ λ°μ΅λλ€. κ·Έλ¦¬κ³ , 1λ²↔2λ², 3λ²↔4λ², ... , N-1λ²↔Nλ²μ μ°Έκ°μλΌλ¦¬ κ²μμ μ§νν©λλ€. κ° κ²μμμ μ΄κΈ΄ μ¬λμ λ€μ λΌμ΄λμ μ§μΆν μ μμ΅λλ€. μ΄λ, λ€μ λΌμ΄λμ μ§μΆν μ°Έκ°μμ λ²νΈλ λ€μ 1λ²λΆν° N/2λ²μ μ°¨λ‘λλ‘ λ°°μ λ°μ΅λλ€. λ§μ½ 1λ²↔2λ² λΌλ¦¬ 겨루λ κ²μμμ 2λ²μ΄ μΉλ¦¬νλ€λ©΄ λ€μ λΌμ΄λμμ 1λ²μ λΆμ¬λ°κ³ , 3λ²↔4λ²μμ 겨루λ κ²μμμ 3λ²μ΄ μΉλ¦¬νλ€λ©΄ λ€μ λΌμ΄λμμ 2λ²μ λΆμ¬λ°κ² λ©λλ€. κ²μμ μ΅μ’ ν λͺ μ΄ λ¨μ λκΉμ§ μ§νλ©λλ€.
μ΄λ, μ²μ λΌμ΄λμμ Aλ²μ κ°μ§ μ°Έκ°μλ κ²½μμλ‘ μκ°νλ Bλ² μ°Έκ°μμ λͺ λ²μ§Έ λΌμ΄λμμ λ§λλμ§ κΆκΈν΄μ‘μ΅λλ€. κ²μ μ°Έκ°μ μ N, μ°Έκ°μ λ²νΈ A, κ²½μμ λ²νΈ Bκ° ν¨μ solutionμ 맀κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ²μ λΌμ΄λμμ Aλ²μ κ°μ§ μ°Έκ°μλ κ²½μμλ‘ μκ°νλ Bλ² μ°Έκ°μμ λͺ λ²μ§Έ λΌμ΄λμμ λ§λλμ§ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ. λ¨, Aλ² μ°Έκ°μμ Bλ² μ°Έκ°μλ μλ‘ λΆκ² λκΈ° μ κΉμ§ νμ μ΄κΈ΄λ€κ³ κ°μ ν©λλ€.
μ νμ¬ν
- N : 2 μ΄μ 2 μ΄νμΈ μμ°μ (2μ μ§μ μΉμΌλ‘ μ£Όμ΄μ§λ―λ‘ λΆμ μΉμ λ°μνμ§ μμ΅λλ€.)20
- 1
- A, B : N μ΄νμΈ μμ°μ (λ¨, A ≠ B μ λλ€.)
μ μΆλ ₯ μ
N | A | B | answer |
8 | 4 | 7 | 3 |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
첫 λ²μ§Έ λΌμ΄λμμ 4λ² μ°Έκ°μλ 3λ² μ°Έκ°μμ λΆκ² λκ³ , 7λ² μ°Έκ°μλ 8λ² μ°Έκ°μμ λΆκ² λ©λλ€. νμ μ΄κΈ΄λ€κ³ κ°μ νμΌλ―λ‘ 4λ² μ°Έκ°μλ λ€μ λΌμ΄λμμ 2λ²μ΄ λκ³ , 7λ² μ°Έκ°μλ 4λ²μ΄ λ©λλ€. λ λ²μ§Έ λΌμ΄λμμ 2λ²μ 1λ²κ³Ό λΆκ² λκ³ , 4λ²μ 3λ²κ³Ό λΆκ² λ©λλ€. νμ μ΄κΈ΄λ€κ³ κ°μ νμΌλ―λ‘ 2λ²μ λ€μ λΌμ΄λμμ 1λ²μ΄ λκ³ , 4λ²μ 2λ²μ΄ λ©λλ€. μΈ λ²μ§Έ λΌμ΄λμμ 1λ²κ³Ό 2λ²μΌλ‘ λ μ°Έκ°μκ° λΆκ² λλ―λ‘ 3μ return νλ©΄ λ©λλ€.
λ΄ νμ΄
#include <iostream>
using namespace std;
int solution(int n, int a, int b)
{
int answer = 0;
for(int i = 0; i < n; ++i)
{
a = a/2 + a%2;
b = b/2 + b%2;
++answer;
if(a==b)
break;
}
return answer;
}
'π₯οΈ Study Note > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€]level.2 - μ νμ μκ° μ΄λ(C++) (0) | 2023.06.30 |
---|---|
[νλ‘κ·Έλλ¨Έμ€]level.2 - κ³Όμ μ§ννκΈ°(C++) (0) | 2023.06.29 |
[νλ‘κ·Έλλ¨Έμ€]level.2 - κ΄λ¬Ό μΊκΈ°(C++) (0) | 2023.06.26 |
[νλ‘κ·Έλλ¨Έμ€]level.2 - νλ ¬μ κ³±μ (C++) (0) | 2023.06.25 |
[νλ‘κ·Έλλ¨Έμ€]level.3 - λ©λ¦¬ λ°κΈ°(C++) (0) | 2023.06.23 |