Coding Test/Java Coding Test219 [프로그래머스 / 자바] - 크기가 작은 부분 문자열 크기가 작은 부분 문자열 문제 문자열 t와 p가 매개변수로 주어집니다. t와 p는 숫자로 이루어진 문자열입니다. t에서 p와 길이가 같은 부분 문자열 중에서 p보다 작은 같거나 작은 수의 개수를 출력하는 문제입니다. t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 테스트 (인텔리제이) p의 크기를 담은 length와 p를 Long 타입으로 바꾼 num 변수를 선언해줍니다. 이제 for문을 사용하여 i는 0부터 t의 크기에서 p의 크기를 뺸 값에 1을 더합니다. 그래야 substring으로 문자를 자를때 마지막까지 자를 수 있습니다. 이.. 2024. 2. 21. [프로그래머스 / 자바] - 삼총사 삼총사 문제 정수 배열 number 매개변수로 주어집니다. 한 한교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 3총사라고 합니다. 예를 들어 5명의 학생이 있고, 각각 정수 번호가 -2, 3, 0, 2, -5라고 했을 때 첫 번째, 세 번째, 네 번째 학생 / 두 번째, 네 번째, 다섯 번째 학생 이 학생들은 삼총사가 될 수 있습니다. 따라서 이 경우 두 가지 방법으로 삼총사를 만들 수 있습니다. 문제는 number가 주어지면 이 배열에서 만들 수 있는 삼총사의 경우의 수를 구하는 문제입니다. 테스트 (인텔리제이) 각 자릿수를 겹치지 않게 모두 더해야 하기 때문에 for문을 3중 중첩했습니다. 위에서 말한 것처럼 각 자릿수가 .. 2024. 2. 20. [프로그래머스 / 자바] - 이상한 문자 만들기 이상한 문자 만들기 문제 문자열 s가 매개변수로 주어집니다. s는 한 개 이상의 단어로 구성되어 있고, 각 단어는 하나 이상의 공백으로 구분되어 있고, 각 단어 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 출력하는 문제입니다. 테스트 (인텔리제이) s를 문자별로 자르고 for문을 돌려 각 문자의 위치를 idx로 구분하고 그 값이 홀수면 소문자를 짝수면 대문자를 빈칸이라면 idx값을 0이 들어가도록 했습니다. 다른 사람 풀이 중에서 더 좋은 코드가 있어 가져와 봤습니다. 위 과정을 모두 삼항연산자를 이용하여 푸는 방법과 문자열을 각 문자를 char 배열에 담아서 푸는 방법이 있습니다. 여기서 char 배열에 담아서 푸는 방법이 가장 빠르다고 나왔습니다. public class Ma.. 2024. 2. 19. [프로그래머스 / 자바] - 직사각형 별찍기 직사각형 별찍기 문제 정수 n과 m이 매개변수로 주어집니다 n과 m은 입력할 수 있게 주어지고 n은 가로 길이 m은 세로 길이를 나타내고 n과 m을 이용하여 *을 찍는 문제입니다. 테스트 (인텔리제이) for문 안에서 StringBuilder를 이용하여 for문이 순회하는 만큼 StringBuilder에 *문자를 담습니다. 이후 또 다른 for문을 이용하여 StringBuilder에 담겨져 있는 값을 출력해내면 됩니다. import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { /* 정수 n과 m이 매개변수로 주어집니다 n과 m은 입력할 수 있게 주어지고 n은 가로.. 2024. 2. 19. [프로그래머스 / 자바] - 최대공약수와 최소공배수 최대공약수와 최소공배수 문제 정수 n과 m이 매개변수로 주어집니다. 두 수의 최대공약수와 최소공배수를 구하고 배열에 담아서 출력하는 문제입니다. 첫번째 원소에는 최대공약수가 두번째 원소에는 최소공배수를 담아야 합니다. 테스트 (인텔리제이) for문으로 n과 m의 크기만큼 순회하도록 하고 연산을 위해 for문의 시작을 1로 시작합니다. if문으로 n과 m을 각각 i로 나눴을 때 0이 되는 수를 for문 안에서 구하고 max라는 변수에 담습니다. max에 마지막으로 담기는 값이 최대공약수입니다. 그 수를 answer의 첫번째 원소에 담고 두번째 원소에는 n과 m을 곱한 값을 max로 나눈 값 즉, 최소공배수의 값을 담아 출력하면 됩니다. import java.util.Arrays; public class M.. 2024. 2. 19. 이전 1 ··· 20 21 22 23 24 25 26 ··· 44 다음