-
자바 알고리즘 - 편지algorithm 2023. 9. 1. 12:13
문제 설명 머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요. 제한 사항 공백도 하나의 문자로 취급합니다. 1 ≤ message의 길이 ≤ 50 편지지의 여백은 생각하지 않습니다. message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다. 답안 class Solution { public int solution(String message) { return message.length()*2; } } 자바 문자열 길이 구하는 함수 length()..
-
자바 알고리즘 - 가장 큰 수 찾기algorithm 2023. 9. 1. 12:08
문제 설명 정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한 사항 1 ≤ array의 길이 ≤ 100 0 ≤ array 원소 ≤ 1,000 array에 중복된 숫자는 없습니다. 답안 class Solution { public int[] solution(int[] array) { int[] answer = new int[2]; for(int i=0; ianswer[0]) { answer[0]=array[i]; answer[1]=i; } } return answer; } } array의 길이만큼 for문을 돌면서 answer[0]보다 원소의 값이 크면 초기화 하는 로직. answer는 길이를 초기화 했기 ..
-
자바 알고리즘 - 문자열 계산하기algorithm 2023. 9. 1. 11:50
문제 설명 my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요. 제한 사항 연산자는 +, -만 존재합니다. 문자열의 시작과 끝에는 공백이 없습니다. 0으로 시작하는 숫자는 주어지지 않습니다. 잘못된 수식은 주어지지 않습니다. 5 ≤ my_string의 길이 ≤ 100 my_string을 계산한 결과값은 1 이상 100,000 이하입니다. my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다. 계산에 사용하는 숫자는 1 이상 20,000 이하인 자연수입니다. my_string에는 연산자가 적어도 하나 포함되어 있습니다. return type 은 ..
-
자바 알고리즘 - 배열의 유사도algorithm 2023. 9. 1. 11:16
문제 설명 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요. 제한 사항 1 ≤ s1, s2의 길이 ≤ 100 1 ≤ s1, s2의 원소의 길이 ≤ 10 s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다 s1과 s2는 각각 중복된 원소를 갖지 않습니다. 답안 import java.util.*; class Solution { public int solution(String[] s1, String[] s2) { int answer = 0; List s1List = new ArrayList(Arrays.asList(s1)); for(String val : s2) { if(s1List.contai..
-
자바 알고리즘 - 숫자 찾기algorithm 2023. 8. 31. 17:59
문제 설명 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한 사항 0 < num < 1,000,000 0 ≤ k =0? numStr.indexOf(Integer.toString(k))+1 : -1; } } 포함, 불포함 문제가 나올 땐 indexOf 또는 contans를 사용하자! 이번에는 자릿수를 리턴해야하기 때문에 결과값으로 index를 리턴하는 indexOf를 이용한다. 하지만 0부터 세는 일반적인 index와는 달리 숫자의 자리 수를 리턴해줘야 하기 때문에 삼항 연산자를 통해서 0과 같거나 크면 indexOf의 결과값에 1을 더해주고 아닌..
-
자바 알고리즘 - n의 배수 고르기algorithm 2023. 8. 31. 17:45
문제 설명 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 크기 ≤ 100 1 ≤ numlist의 원소 ≤ 100,000 답안 import java.util.*; class Solution { public int[] solution(int n, int[] numlist) { int count = 0; for(int val : numlist) { if(val%n==0) count++; } int[] answer = new int[count]; int idx = 0; for(int val : numlist) { if(val%n..
-
자바 알고리즘 - 자릿수 더하기algorithm 2023. 8. 31. 17:17
문제 설명 정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요 제한 사항 0 ≤ n ≤ 1,000,000 답안 class Solution { public int solution(int n) { int answer = 0; while(n>0) { answer+= n%10; n/=10; } return answer; } } 이 문제는 결국 숫자의 끝자리를 더해주면 되는게 목표이기 때문에 n % 10 을 통해서 10으로 나눈 나머지를 구하고 그 수를 answer에 더해준다. 그리고 다음 첫번째 자리를 구하기 위해 n을 10으로 나눠준다.