목록2024/05/18 (3)
이우의 개발일지
백준 1463번 1로 만들기https://www.acmicpc.net/problem/1463 이 문제는 DP로 풀어야한다. (필자는 BFS로 풀었다가 시간초과가 떴다.. 코드는 올려놓겠다) 정수 N을 입력했을 때 1로 만들기 위한 최소 연산횟수를 구하는 문제이다.즉, 입력에 대한 연산횟수의 최소값에 따라 그 연산횟수를 응용하는 것이다.dp[i] = dp[i-1] + 1; if(i%2==0) dp[i] = min(dp[i], dp[i/2]+1); if(i%3==0) dp[i] = min(dp[i],dp[i/3]+1);이 부분의 경우 if문이 연달아 2개이기 때문에 조건이 성립되면 결국에 min(dp[i-1]+1, dp[i/2]+1, dp[i/3]+1)을 비교한 것이다!!Botto..
백준 2108번 통계학 https://www.acmicpc.net/problem/2108 이 문제에서 너무 어렵게 생각했던 점은 입력되는 값이 음수일 수도 있으니, 그 값을 어떻게 처리하냐의 문제였다. 입력되는 정수의 절댓값은 절대 4000이 넘지 않는다. 라고 되어있어서 다른 풀이를 보니 arr[8001] 같이 아예 전체 음수까지해서 범위를 8000이라고 둔 것이다. 문제 풀 때는 범위확인을 잘해서 내가 배열범위를 미리 지정해줘도 괜찮은 값이면 쓰는게 나을 것 같다. #include#include#include#includeusing namespace std;int main() { int n; cin >> n; vector vec; vector che; double a=0; int result[4..
프로그래머스 PCCP 붕대감기https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr※ 일반 구현 문제여러 가지 조건을 완벽한 시퀀스로 구현하는데 부족함을 느낌.주어진 테스트 케이스를 다 통과해도, 나머지 20문제 테스트 케이스 실행할 때 4개 정도 실패.이유 : heal_time (연속된 힐링 시간) 을 채우고, 초기화하는데서 문제 발생.초기화 까먹지 말 것! #include #include #include using namespace std;int ..