Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- rpg server
- screencapture
- Unity IAP
- docker
- Camera Movement
- Packet Network
- server
- critical rendering path
- draganddrop
- OverTheWire
- linux
- SDK upgrade
- Spring Boot
- Google Refund
- mongoDB
- Unity Editor
- react
- Git
- --watch
- springboot
- Camera Zoom
- Google Developer API
- nodejs
- java
- express
- MySQL
- Digital Ocean
- css framework
- spread 연산자
- unity
Archives
- Today
- Total
우당탕탕 개발일지
[프로그래머스] Level 2. 점프와 순간이동 본문
https://school.programmers.co.kr/learn/courses/30/lessons/12980
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
처음엔 BFS로 풀었는데 실패. (시간초과 발생) 하였다. 그말은 즉, 바로 답을 찾을 수 있는 로직이 있다는 의미이다.
해결 방법
숫자n이 만약 2로나누어 떨어진다면, n/2 지점에서 순간이동을 할 수 있다는 의미이다.
만약 나누어 떨어지지 않는다면, 한칸을 이동해서 n-1 로 이동하고 / 2 를 시도한다.
이 방법을 계속하면서, 2로 나누어 떨어지지 않는 상황이 몇번 나오는지 확인해본다.
#include <iostream>
using namespace std;
int solution(int n)
{
int answer = 0;
while(n>0){
if(n%2 != 0){
answer +=1;
n-=1;
continue;
}
n/= 2;
}
return answer;
}
'Algorithm(c++) > Level 2' 카테고리의 다른 글
[프로그래머스] Level 2. 뉴스 클러스터링 (0) | 2025.02.21 |
---|---|
[프로그래머스] Level 2. 프로세스 (0) | 2025.02.20 |
[프로그래머스] Level 2. 리코쳇 로봇 (1) | 2025.02.17 |
[프로그래머스] Level 2. 연속된 부분 수열 (0) | 2025.02.16 |
[프로그래머스] Level 2. 혼자서 하는 틱택토 (0) | 2025.02.15 |