Lv0 - 문자열 뒤의 n글자 class Solution { public String solution(String my_string, int n) { String answer = ""; answer = my_string.substring((my_string.length()-n), my_string.length()); return answer; }} 주어진 문자열의 뒤에서 n번째까지만 출력하는 코드이다.substring을 활용하여 간단하게 해결할 수 있었다. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 9로 나눈 나머지 import java.math.BigInteger;class Solution { public int solution(String number) { BigInteger num = new BigInteger(number); // 🔹 BigInteger로 변환 return num.mod(BigInteger.valueOf(9)).intValue(); // 🔹 9로 나눈 나머지 계산 }} 원래는 int num = Integer.parseInt(number)을 통해 String -> Int형으로 변환을 하려고했으나오류가 발생하였다. 그래서 더 큰 수를 담을 수 있는 Long형으로 시도를 해봤는데 역시 오류가 발생했다. 그래서 결국 수가 얼마나 크든 담을 수 있는 BigInte.. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 간단한 논리 연산 class Solution { public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) { boolean answer = true; if((x1 || x2) && (x3||x4) == true ){ answer = true; } else answer = false; return answer; }} boolean형 x1 ~ x4가 주어졌을 때 (x1 or x2) and (x3 or x4)가 true인지 false인지 작성하는 코드이다.if조건문을 활용하여 간단히 작성할 수 있다. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 콜라츠 수열 만들기 import java.util.ArrayList;class Solution { public int[] solution(int n) { ArrayList list = new ArrayList(); // 동적 배열 사용 list.add(n); // 초기값 추가 while (n != 1) { // 1이 될 때까지 반복 if (n % 2 == 0) { n = n / 2; } else { n = 3 * n + 1; } list.add(n); // 리스트에 값 추가 } // 리스트를 int 배열로 변환 r.. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 카운트 업 class Solution { public int[] solution(int start_num, int end_num) { int[] answer = new int[end_num - start_num+1]; for(int i=0; i 이 문제는 정말 간단하게 n ~ m까지의 값을 순서대로 배열에 저장하는 코드이다. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 수 조작하기 2 class Solution { public String solution(int[] numLog) { int c = numLog.length; StringBuilder answer = new StringBuilder(); for (int i = 1; i 이 문제는 전에. 풀었던 수 조작하기 1과 반대의 알고리즘을 활용하여 푸는 문제이다.만약 switch - case 문을 활용하여 1, -1, 10, -10일때로 코드 작성한다음 마지막에 answer에 return 해주면된다. 만약 이게 아닌 for-if문만 활용해서 풀 수 있는데 밑에 코드를 참고하길 바란다.class Solution { public String solution(int[] numLog) { .. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 수 조작하기1 class Solution { public int solution(int n, String control) { int count = control.length(); for (int i = 0; i String 문자열을 한 문자씩 빼오려면 charAt()을 활용하면 편하다. 그래서 for문을 활용하여 문자열 한문자씩 빼온 후w,s,d,a,인지 if문을 활용하여 판단하고 n값을 리턴해준다. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 마지막 두 원소 class Solution { public int[] solution(int[] num_list) { int count = num_list.length; int[] answer = new int[count + 1]; // 기존 배열 크기 + 1 // 기존 배열 복사 for (int i = 0; i num_list[count - 2]) { answer[count] = num_list[count - 1] - num_list[count - 2]; // 마지막 값 - 마지막 직전 값 } else { answer[count] = num_list[count - 1] * 2; // 마지막 값 * 2 .. 프로그래머스 문제 풀이 2025.02.22
Lv0 - 이어 붙인 수 class Solution { public int solution(int[] num_list) { StringBuilder even = new StringBuilder(); // 짝수 StringBuilder odd = new StringBuilder(); // 홀수 for (int num : num_list) { if (num % 2 == 0) { even.append(num); // 짝수 문자열 생성 } else { odd.append(num); // 홀수 문자열 생성 } } int evenNum = even.lengt.. 프로그래머스 문제 풀이 2025.02.22
Lv1 - 직사각형 별찍기 import java.util.Scanner;class Solution { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); for(int i = 0;i 이렇게 별을 찍어서 모양을 만드는 문제는 보통 for문을 통해서 쉽게 해결할 수 있다.이중 for문을 활용해서 먼저 열의 수만큼 "*"을 출력하고System.out.println();을 통해 한줄 띈다음 또 "*"을 출력하는 식으로 해결했다. 반복문을 알고있다면 충분히 해결할 수 있는 문제였다. 프로그래머스 문제 풀이 2025.02.21