분류 전체보기 14

[문제풀이] Hacker Rank - Project Euler #89: Roman numerals

HackerRank link Project Euler #89: Roman numerals 풀이 핵심 주어진 사양에 맞게 코딩 문자열→숫자, 숫자→문자열 변환 Algorithm 로마 숫자를 숫자로 변환한다. 변환된 숫자를 로마 숫자로 변환한다. Source Code import java.io.*; import java.util.*; import java.text.*; import java.math.*; import java.util.regex.*; public class Solution { static int RomanNumStr2Num(String str) { int[] number = new int[] { 1, 5, 10, 50,100,500,1000}; char[] romanStr = new char..

[문제풀이] Hacker Rank - The Maximum Subarray

HackerRank link The Maximum Subarray 풀이 핵심 두가지를 풀어야 됨. [max subsequence] 단순히 양수를 더하면 최댓값을 알 수 있음. [max subArray] 동적 프로그래밍으로 풀이 아래의 표와 같이 최대 subArray의 sum은 sum의 최대값 - sum의 최소값(단, 최대값 이전 index) 이다. index 0 1 2 3 4 5 6 arr -2 2 -1 2 3 4 -5 sum -2 0 -1 1 4 8 -3 답은 10 Algorithm 현재까지의 sum 값을 구한다. 최소 값과 최대값을 업데이트 하며, subArrMax를 업데이트한다. 양수를 더하며 subsequence의 최대값을 구한다. 과정 1~4를 반복한다. Source Code import jav..

[문제풀이] HackerRank - Alice and Bob's Silly Game

HackerRank link Alice and Bob's Silly Game 풀이 핵심 Alice와 Bob이 서로 반복하기 때문에 계속 반복할 필요 없이 소수의 총수를 구하면 간단하게 구할 수 있다. Algorithm 소수를 구하면서 전체 소수의 갯수를 센다. 소수의 수가 짝수이면 Bob, 아니면 Alice를 리턴한다. Source Code import java.io.*; import java.math.*; import java.text.*; import java.util.*; import java.util.regex.*; public class Solution { /* * Complete the sillyGame function below. */ static String sillyGame(int..

[HackerRank] The Power Sum - 문제 풀이

HackerRank link The Power Sum 풀이 핵심 모든 수를 더해보면서 X가 어떤 수들의 N제곱의 합인지 확인한다. ex) X = 10, N = 2 (X) X > 1^2 (X) X > 1^2 + 2^2 (X) X < 1^2 + 2^2 + 3^2 (O) X = 1^2 + 3^2 ... Algorithm 처음 입력을 1로 하여 1^N 부터 시작한다. N승한 값을 구한다. 현재까지의 합을 구한다. 맞으면 count 후 리턴 크면 현재까지의 count 값 리턴 작으면 다음 수를 설정하여 과정 2부터 다시 구한다. Source Code import java.io.*; import java.math.*; import java.security.*; import java.text.*; import jav..