https://school.programmers.co.kr/learn/courses/30/lessons/12911
λ¬Έμ μ€λͺ
μμ°μ nμ΄ μ£Όμ΄μ‘μ λ, nμ λ€μ ν° μ«μλ λ€μκ³Ό κ°μ΄ μ μ ν©λλ€.
- 쑰건 1. nμ λ€μ ν° μ«μλ nλ³΄λ€ ν° μμ°μ μ λλ€.
- 쑰건 2. nμ λ€μ ν° μ«μμ nμ 2μ§μλ‘ λ³ννμ λ 1μ κ°―μκ° κ°μ΅λλ€.
- 쑰건 3. nμ λ€μ ν° μ«μλ 쑰건 1, 2λ₯Ό λ§μ‘±νλ μ μ€ κ°μ₯ μμ μ μ λλ€.
μλ₯Ό λ€μ΄μ 78(1001110)μ λ€μ ν° μ«μλ 83(1010011)μ λλ€.
μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, nμ λ€μ ν° μ«μλ₯Ό return νλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
- nμ 1,000,000 μ΄νμ μμ°μ μ λλ€.
μ μΆλ ₯ μ
n | result |
78 | 83 |
15 | 23 |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ#1
λ¬Έμ μμμ κ°μ΅λλ€.
μ μΆλ ₯ μ#2
15(1111)μ λ€μ ν° μ«μλ 23(10111)μ λλ€.
λ΄ ν΄λ΅
#include <string>
#include <vector>
#include <iostream>
using namespace std;
string to_binary(int i)
{
string s = "";
while(i > 0)
{
if(i%2 == 1)
s += "1";
else
s += "0";
i = i/2;
}
return s;
}
int count_1(const string binary)
{
int c = 0;
for(const auto& s : binary)
{
if(s == '1')
++c;
}
return c;
}
int solution(int n)
{
int c = count_1(to_binary(n));
int answer = n+1;
while(true)
{
int i = count_1(to_binary(answer));
if(i == c)
break;
++answer;
}
return answer;
}
μκ°λ½μ΄ λΆλ¬μ§κ³ 첫 μ½ν ;; ν μμΌλ‘ μΉκΈ° λ무 νλ€μλ€.
'π₯οΈ Study Note > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ / level.1 / λλ¨Έμ§κ° 1μ΄ λλ μ μ°ΎκΈ°(C++) (0) | 2023.05.06 |
---|---|
νλ‘κ·Έλλ¨Έμ€ / level.2 / μ§μ§μ΄ μ κ±°νκΈ°(C++) (0) | 2023.05.06 |
νλ‘κ·Έλλ¨Έμ€ / level.2 / νΌλ³΄λμΉ μ(C++) (0) | 2023.04.25 |
[λ°±μ€] μ€λͺ©(C++) (0) | 2023.04.24 |
νλ‘κ·Έλλ¨Έμ€ / level.1 / μμ°μ λ€μ§μ΄ λ°°μ΄λ‘ λ§λ€κΈ°(C++) (1) | 2023.04.23 |