본문 바로가기
반응형

알고리즘 문제풀이101

[Backjoon] 4613번 문제 - Quicksum 이 문제에서 당신은 Quicksum이라고 하는 checksum 알고리즘을 구현해야 한다. Quicksum 패킷은 오직 대문자와 공백으로 이루어져있다. 그리고 시작과 끝은 항상 대문자이다. 공백은 문자와 섞여있을수 있으며 연속되어서 있을수도 있다.Quicksum은 각각의 캐릭터의 위치와 케릭터 값의 합이다. 공백은 0이다. 문자는 고유의 위치값을 가지고 있는데 예를들어 A=1, B=2 ... Z=26이다.예제 문장은 "ACM" 과 "MID CENTRAL"인데 살펴보면 다음과 같다.ACM: 1*1 + 2*3 + 3*13 = 46MID CENTRAL: 1*13 + 2*9 + 3*4 + 4*0 + 5*3 + 6*5 + 7*14 + 8*20 + 9*18 + 10*1 + 11*12 = 650 풀이문자열에 저장 후 .. 2017. 6. 28.
[Backjoon] 11648번 문제 - 지속 키파는 곱하기를 좋아한다. 그래서 키파는 수를 보면 각 자리 숫자를 모두 곱해서 하나의 수를 만든다. 키파는 기쁘다. 키파는 이 작업을 계속해서 반복한다. 그런데 수가 한 자리가 되었다. 키파는 슬퍼졌다.키파의 기쁨이 지속될 수 있는 것이 몇 단계인지를 출력하는 프로그램을 작성하시오. 예를 들어 679라면:679 → 6*7*9 = 378 (1단계)378 → 3*7*8 = 168 (2단계)168 → 1*6*8 = 48 (3단계)48 → 4*8 = 32 (4단계)32 → 3*2 = 6 (5단계: 키파는 슬퍼졌다.)키파는 5단계만에 슬퍼지므로 5를 출력하면 된다. 풀이 문자열 배열로 바꾼 후 반복문을 돌며 모든 배열값을 곱한 값을 구한다.그리고 이 값을 다시 문자열로 변환하여 배열로 바꾸어준다.이 배열의 길이.. 2017. 6. 28.
[Backjoon] 2525번 문제 - 오븐 시계 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 디지털 시계가 있다. 훈제오리구이를 시작하는 시각과 오븐구이를 하는 데 필요한 시간이 분단위로 주어졌을 때, 오븐구이가 끝나는 시각을 계산하는 프로그램을 작성하시오.풀이 분에 입력값으로 주어진 수를 더하고 60을 넘으면 시를 1 올려준다.입력값이 1000까지 이므로 분이 60범위 내에 들어올때까지 이를 수행해준다.시는 24를 넘으.. 2017. 6. 27.
[Backjoon] 11048번 문제 - 이동하기 준규는 N×M 크기의 미로에 갇혀있다. 미로는 1×1크기의 방으로 나누어져 있고, 각 방에는 사탕이 놓여져 있다. 미로의 가장 왼쪽 윗 방은 (1, 1)이고, 가장 오른쪽 아랫 방은 (N, M)이다.준규는 현재 (1, 1)에 있고, (N, M)으로 이동하려고 한다. 준규가 (i, j)에 있으면, (i+1, j), (i, j+1), (i+1, j+1)로 이동할 수 있고, 각 방을 방문할 때마다 방에 놓여져있는 사탕을 모두 가져갈 수 있다. 또, 미로 밖으로 나갈 수는 없다.준규가 (N, M)으로 이동할 때, 가져올 수 있는 사탕 개수의 최대값을 구하시오. 풀이재귀로 풀었다가 시간초과 걸려서 다시 문제를 풀었다. 백준 문제풀이는 시간초과가 있으니 입력값이 적당히 크다 싶으면 반복문으로 풀기 바란다.우선 누적.. 2017. 6. 27.
반응형