본문 바로가기

백엔드개발자/알고리즘관련26

숫자 문자열과 영단어/ replace(), replaceAll(), replaceFirst() 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 숫자영단어 0 zero 1 one 2 two 3 three 4 four 5 five 6 six 7 seven 8.. 2022. 5. 6.
정수N은 어떤 양의 정수 X의 제곱인가요? 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 nreturn 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. public long solution(long n) { // 제곱근 찾기 long sqrt = (long) Math.sqrt(n); // 제곱근의 제곱이 n인지 비교하기 if (Mat.. 2022. 5. 5.
자연수 N, 숫자 뒤집기 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. class Solution { public int[] solution(long n) { int[] answer = new int[String.valueOf(n).length()]; int index = 0; int temp = 0; while (n > 0) { temp = (int) (n % 10); n = n / 10; answer[index] = temp; System.out.println(answer[index]); index++; } return answer; } public static void.. 2022. 4. 29.
하나의 정수 각 자리수를 큰 순서대로 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. import java.util.Arrays; import java.util.Scanner; class Solution { public long solution(long n) { long answer = 0; // String으로 바꿔서 char 배열만들어서 sort할 예정 // String으로 바꾸기 String str = String.valueOf(n); char[] cArr = new char[str.length()]; // char 배열로 넣기.. 2022. 4. 28.
각자리 숫자의 합 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 Nanswer 123 6 987 24 입출력 예 설명 입출력 예 #1 문제의 예시와 같습니다. 입출력 예 #2 9 + 8 + 7 = 24이므로 24를 return 하면 됩니다. import java.util.*; public class Solution { public int solution(int n) { int answer = 0; String str = Integer.toString(n); for (char x : str.toCharArray().. 2022. 4. 28.
등수계산 N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다. 첫 줄에 N(3 2022. 2. 23.