본문 바로가기

Coding Test/Java Coding Test219

[프로그래머스 / 자바] - 문자열 내림차순으로 배치하기 문자열 내림차순으로 배치하기 문제 문자열 s가 매개변수로 주어집니다. s는 영문 대소문자로만 이루어져 있습니다. s를 내림차순 정렬하는 문제입니다. 테스트 (이클립스) 우선 s의 각 문자들을 오름차순 정렬할 수 있게 문자 배열로 변환해줍니다. (toCharArray() 이용) 문자 배열을 Arrays.sort() 메소드를 이용하여 오름차순 정렬을 하고 String으로 변환해줍니다. String으로 변환된 값을 StringBuilder에 담고 StringBuilder의 reverse() 메소드로 문자열을 뒤집어 주면 문제를 해결할 수 있습니다. package com.namji.codingtest.level0; import java.util.Arrays; public class SortString_in_De.. 2024. 2. 1.
[프로그래머스 / 자바] - 약수의 개수와 덧셈 약수의 개수와 덧셈 문제 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수 중에서 약수의 개수가 짝수면 더하고 약수의 개수가 홀수면 뺀 값을 출력하는 문제입니다. 테스트 (이클립스) for문을 이용하여 left부터 right까지 순회하도록 하고 그 값을 i에 담습니다. 이중 for문으로 1부터 i까지 순회하도록 하고 그 값을 j에 담습니다.. 그 안에서 if문을 이용하여 i를 j로 나눴을 때 나누어 떨어지면 count를 증가하게 하고 첫번째 for문에서 count가 짝수면 i를 answer에 더하고 홀수라면 -i를 answer에 더하게 하였습니다. 누적된 count는 다시 0으로 만들어서 left부터 right까지의 약수의 합을 구했습니다. left부터 right까.. 2024. 1. 31.
[프로그래머스 / 자바] - 내적 내적 문제 정수 배열 a와 b가 매개변수로 주어집니다. a와 b의 길이는 같고, a와 b의 내적을 구하는 문제입니다. a와 b의 내적은 a[0] * b[0] + a[1] * b[1] + ... + a[n-1] * b[n-1] 테스트 (이클립스) a와 b의 원소를 하나씩 꺼내기 위해 for문을 이용하고 a와 b의 크기는 같기 때문에 a의 크기만큼 순회하도록 했습니다. for문 순회할 때마다 a와 b의 원소를 각각 곱하여 answer에 더해서 담도록 하여 문제를 해결했습니다. package com.namji.codingtest.level0; public class DotProduct { public static void main(String[] args) { /* * 정수 배열 a와 b 가 매개변수로 주어집.. 2024. 1. 30.
[프로그래머스 / 자바] - 수박수박수박수박수박수? 수박수박수박수박수박수? 문제 정수 n이 매개변수로 주어집니다. n의 크기만큼 수박의 패턴을 유지하는 문자열을 출력하는 문제입니다. 테스트 (이클립스) 저는 for문을 n의 크기만큼 순회하도록 하고 for문의 변수 i를 2로 나누어 떨어지면 박을 answer에 담고 아니라면 수를 answer에 담게 하였습니다 다른 사람 풀이를 보니 좋은 풀이도 있고 웃긴 풀이도 있어 가져와 봤습니다. for문 안에 if문 대신 삼항연산자를 이용한 풀이 문제의 조건 중 n의 길이가 10000이하인 조건을 이용하여 문자열을 새로 만들어 수박을 10000번 입력하여 substring으로 0번부터 n까지의 길이를 출력하게 하는 방법, StringBuilder를 이용하여 append 하는 방법 총 4가지를 작성해봤습니다. pack.. 2024. 1. 29.
[프로그래머스 / 자바] - 가운데 글자 가져오기 가운데 글자 가져오기 문제 문자열 s가 매개변수로 주어집니다. s의 문자의 길이가 홀수라면 가운데 문자 하나를 s의 문자의 길이가 짝수라면 가운데 문자 두개를 출력하는 문제입니다. 테스트 (이클립스) 우선 if문으로 s의 길이가 홀수인지 짝수인지 구분하기 위해 조건으로 s의 길이를 2로 나눴을 때 0으로 나누어 떨어지는지 조건을 부여하였습니다. s가 2로 나눠진다면 s를 String 클래스의 substring 메소드를 이용하여 가운데 문자 2개를 answer에 담습니다. s가 2로 나눠지지 않고 else문으로 간다면 substring 메소드를 이용하여 가운데 문자 1개를 answer에 담도록 하였습니다. String 클래스의 substring은 subString(시작 글자 위치, 끝 글자 위치)로 문자열.. 2024. 1. 27.