PS

    2021 카카오 채용연계형 인턴십 Lv1 숫자 문자열과 영단어 [Java]

    2021 카카오 채용연계형 인턴십 Lv1 숫자 문자열과 영단어 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/81301 2. 문제 해설 카카오 2021 채용연계형 인턴십 코딩테스트의 1번 문제이다. 입력 받은 문자열에서 영어로 들어오는 값을 대응하는 숫자로 바꾸어서 반환해주면 된다. String 배열을 만들어서 zero부터 nine까지 넣어주면 배열의 인덱스랑 딱 대응하기에 쉽게 처리할 수 있다. replaceAll() 메서드를 이용하여 입력 받은 문자열에 있는 영어 값을 전부 숫자로 바꿔준다. 3. 코드 보기 class Solution { public int solution(String s) { String[] numbers = {"zero"..

    BOJ 11653 소인수분해 [Java]

    BOJ 11653 소인수분해 1. 문제 링크 https://www.acmicpc.net/problem/11653 2. 문제 해설 입력 받은 정수를 n, n을 나누는 수를 a라고 하자. a를 최초의 소수인 2로 초기화 한다. 아래의 과정을 n이 1이 될 때까지 반복한다. n이 a로 나눠지면 n을 a로 나누고 이 때의 a값을 담는다. n이 a로 나눠지지않으면 a를 1 늘린다. 3. 코드 보기 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffere..

    BOJ 6588 골드바흐의 추측 [Java]

    BOJ 6588 골드바흐의 추측 1. 문제 링크 https://www.acmicpc.net/problem/6588 2. 문제 해설 true이면 소수이고, false면 소수가 아닌 isPrime 배열을 만든다. 테스트 케이스의 범위가 6이상 1000000이하이므로 크기는 1000001로 지정해준다. 일단 isPrime 배열의 원소를 전부 true로 초기화해주고, 그 후 에라토스테네스의 체를 이용하여 소수가 아닌 수들은 false로 바꿔준다. 이제 골드바흐의 추측이 가능한지 아닌지를 판단해주는 impossible 함수에 대해 설명해보겠다. impossible 함수는 n을 매개변수로 받고, n 이하의 짝수들을 전부 탐색하면서 두 짝수 소수의 합으로 나타낼 수 있으면 앞 쪽 소수를 반환한다. 두 짝수 소수의 합..

    BOJ 1929 소수 구하기 [Java]

    BOJ 1929 소수 구하기 1. 문제 링크 https://www.acmicpc.net/problem/1929 2. 문제 해설 주어지는 두 수의 범위가 1부터 1,000,000 사이이다. 1부터 1,000,000까지 모두 나눠보는 방식은 시간 제한에 걸리기도 하고 굉장히 비효율적이다. 주어진 범위 내에서 소수 판별을 하는 가장 좋은 방법으로 '에라토스테네스의 체' 라는 방식이 있다. 예를 들어 1부터 100까지의 수 중에서 소수를 판별한다고 할 때, 에라토스테네스의 체가 어떻게 동작하는지 살펴보자. 일단 소수도 합성수도 아닌 1을 제외한다. 2를 제외한 범위 내의 2의 배수를 전부 제외한다. 3을 제외한 범위 내의 3의 배수를 전부 제외한다. 4의 배수는 이미 2의 배수를 제외하는 과정에서..

    BOJ 11576 Base Conversion [Java]

    BOJ 11576 Base Conversion 1. 문제 링크 https://www.acmicpc.net/problem/11576 2. 문제 해설 a진법의 수를 b진법의 수로 바꿔줘야하는 문제이다. a진법의 수를 10진수로 바꿔주고 그 10진수를 b진법의 수로 바꿔주는 방식으로 해결했다. 아래 코드에서 sum은 a진법의 수를 뜻하는 10진수이고, 그 10진수를 b로 나누어주면서 나머지를 스택에 저장하였다. 입력된 수가 0일 경우에는 0을 바로 출력하게 설정하였다. 3. 코드 보기 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedR..