[1463] 1로 만들기, c++

2019. 9. 17. 19:08·DEV/PS

https://www.acmicpc.net/problem/1463

 

 

1463번: 1로 만들기

첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.

www.acmicpc.net

한줄 후기 : dev c++ 때문에 망했어 

아니 dp 배열을 [1000001] 로 선언해 줬는데 dev c++에서 안돌아가는거 ..

그거를 그냥 내봤더니 맞았다고 뜬다 ㅋㅋ.. dev 왜그래?

 

아무튼 백준 다이나믹프로그래밍 들어가면 1번으로 뜨는 문제이다.

 

#include <iostream>
using namespace std;
int main(){
	int dp[1000001]={0};
	int n;
	scanf("%d", &n);
	dp[0] = 0;
	dp[1] = 0;
	for(int i=2; i<=n; i++){
		if(!(i%3)){
			dp[i] = min(dp[i/3], dp[i-1]) + 1;
		}
		else if(!(i%2)){
			dp[i] = min(dp[i/2], dp[i-1]) + 1;
		}
		else{
			dp[i] = dp[i-1] + 1;
		}
	}
	cout << dp[n];
}

그냥 3으로 나누어 떨어지면 dp[i/3]  이랑 dp[i-1] 이랑 더 작은걸 고르면 된다. (3으로 나눌수도 있지만 1을 뺄 수도 있기 때문) 그후 마지막으로 1로 만드는 횟수 1을 더하면 됨.

 

 

'DEV > PS' 카테고리의 다른 글

[17521] ACM-ICPC 2019 C번 - byte coin , c++  (2) 2019.10.09
[14753] MultiMax, c++  (0) 2019.09.20
[7785] 회사에 있는 사람  (2) 2019.09.08
[16466] 콘서트, c++  (0) 2019.09.04
[1920] 수 찾기  (0) 2019.08.25
'DEV/PS' 카테고리의 다른 글
  • [17521] ACM-ICPC 2019 C번 - byte coin , c++
  • [14753] MultiMax, c++
  • [7785] 회사에 있는 사람
  • [16466] 콘서트, c++
jobchae
jobchae
말하는 감자지만, 코드를 끄적이는 Node.js 백엔드 개발자입니다.
  • jobchae
    JOBCHAE
    jobchae
  • 전체
    오늘
    어제
    • 🚀 JOBCHAE (177)
      • DEV (146)
        • PS (108)
        • Node.js (12)
        • React (3)
        • docker (1)
        • 잡다한 개발 일지 (20)
        • injection (1)
        • CI CD (0)
        • JS, TS (1)
      • 축구 (0)
      • 일상 (19)
      • 영화 (3)
      • 음악 (8)
  • 블로그 메뉴

    • 💻 Github
    • 🙋🏻 Linkedin
    • 📖 방명록
  • 링크

    • PS Github
  • 공지사항

  • 인기 글

  • 태그

    aws
    일상
    솝트
    nodejs
    우선순위큐
    위상정렬
    이분탐색
    Nest
    GitHub
    node.js
    boj
    slack
    SOPT
    DFS
    react
    BFS
    mongoDB
    알고리즘
    앱잼
    백준
    리액트
    렛츠락페스티벌
    슬랙
    Nest.js
    DP
    PS
    회고
    슬랙봇
    typescript
    Express
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
jobchae
[1463] 1로 만들기, c++
상단으로

티스토리툴바