FickleBoBo

[BaekJoon] 1230번 - 문자열 거리 [Java][C++]

문제 링크 1. 문제 풀이 문자열 O를 문자열 N과 같게 만들기 위해 필요한 문자열 삽입의 최솟값을 찾는 문제로 다이나믹 프로그래밍을 활용하면 해결할 수 있다. dp 테이블은 문자열 O의 $0$ 번째 인덱스부터 $i$ 번째 인덱스를 갖는 접두어와 문자열 N의 $0$ 번째 인덱스부터 $j$ 번째 인덱스를 갖는 접두어를 비교하기 위해 2차원 ...

[BaekJoon] 3687번 - 성냥개비 [Java][C++]

문제 링크 1. 문제 풀이 주어진 성냥개비로 만들 수 있는 가장 작은 수와 가장 큰 수를 찾아야하는 문제로 가장 작은 수는 다이나믹 프로그래밍으로, 가장 큰 수는 그리디 알고리즘으로 찾을 수 있다. 가장 작은 수의 경우 dp 테이블은 성냥개비 $x$ 개로 만들 수 있는 가장 작은 수를 저장하면 된다. $0$ 부터 $9$ 까지 각 숫자를 만...

[BaekJoon] 1213번 - 팰린드롬 만들기 [Java][C++]

문제 링크 1. 문제 풀이 주어진 문자열로 사전순으로 앞서는 팰린드롬을 만드는 문제로 팰린드롬은 길이가 짝수면 모든 문자가 짝수개 존재해야하고, 길이가 홀수면 홀수개 존재하는 문자가 1종류며 나머지 문자는 모두 짝수개 존재해야한다. 알파벳에 대한 카운팅 배열을 통해 각 문자의 개수를 세주고 홀수일때 짝수일때 분기처리해서 구현하면 된다. ...