본문 바로가기

4.2 프로그래머스 & 코테문제/Java 풀이23

[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/홀수 vs 짝수 https://school.programmers.co.kr/learn/courses/30/lessons/181887 문제설명정수 리스트 num_list가 주어집니다. 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 return 하도록 solution 함수를 완성해주세요. 두 값이 같을 경우 그 값을 return합니다.제한사항5 ≤ num_list의 길이 ≤ 509 ≤ num_list의 원소 ≤ 9풀이순서상 짝수 홀수라고 했지만인덱스는 0부터 시작 하고 그냥 인덱스 홀수 = 순서상 짝수 생각하구 구분하지 않았습니다.짝수홀수로 나누기 때문에 0 1로 구분될예정이기에 배열을 선언하여 나머지값으로 인덱스를 주게되었습니다 그후 각 합이 큰값을 삼항연산자로 .. 2024. 7. 7.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/ l로 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/181834 문제설명알파벳 소문자로 이루어진 문자열 myString이 주어집니다.알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 제한사항1 ≤ myString ≤ 100,000myString은 알파벳 소문자로 이루어진 문자열입니다.풀이l 보다 앞서다 → 아스키코드 l보다 작다!  (l 이 l미만이면 오차피 l이니까 >로 했습니다)class Solution { public String solution(String myString) { StringBuilder answer = new StringBuilder().. 2024. 7. 2.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/ 접두사인지 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/181906 문제설명어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ my_string의 길이 ≤ 1001 ≤ is_prefix의 길이 ≤ 100my_string과 is_prefix는 영소문자로만 이루어져 있습니다.풀이여러 방법이 있겠지만 1. 문자열의 앞부분부.. 2024. 6. 15.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/배열 만들기 2 링크 문제설명정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.만약 그러한 정수가 없다면, -1이 담긴 배열을 return 합니다.제한사항1 ≤ l ≤ r ≤ 1,000,000풀이list를 사용하여 해결하였습니다.1. i가 5의 배수일 경우만 코드를 실행하도록 하였습니다 2. i를 문자열로 변환하였고 문자열에 0혹은 5가 아닌 다른 숫자가 존재할 경우엔 리스트에 추가하지 않습니다.3. 리스트에 추가된 숫자를 직접만든 list_array를 이용하여 list로 반환합니다. list_array함수 1. 입력받은 리스트의 길이가 0일경우 [-1]을 반환합니다.2. 길이가 0.. 2024. 6. 8.
[Java/프로그래머스 LV.1] 연습문제/ 2016년 https://school.programmers.co.kr/learn/courses/30/lessons/12901 문제설명2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.제한사항2016년은 윤년입니다.2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다)풀이이 문제를 접근했을때 결국 요일은 7개로 돌아온다 즉, 나머지로 접근월(.. 2024. 6. 7.
[Java/프로그래머스 LV.1] 연습문제/둘만의 암호 https://school.programmers.co.kr/learn/courses/30/lessons/155652 문제설명두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.skip에 있는 알파벳은 제외하고 건너뜁니다.예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤.. 2024. 6. 3.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/이어 붙인 수 https://school.programmers.co.kr/learn/courses/30/lessons/181928 문제설명정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.제한사항2 ≤ num_list의 길이 ≤ 101 ≤ num_list의 원소 ≤ 9num_list에는 적어도 한 개씩의 짝수와 홀수가 있습니다.풀이저는 이어 붙인다는 것을 자릿수를 옆으로 미룬다라는 개념으로 받아 들여 *10을 통해 자리수를 미뤄줬습니다. class Solution { public int solution(int[] num_list) { int odd=0, even.. 2024. 6. 2.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝 / 두 수의 연산값 비교하기 https://school.programmers.co.kr/learn/courses/30/lessons/181908 문제설명연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.  제한사항1 ≤ a, b 풀이삼항 연산자로 비교하여 풀었습니다 class Solution { public int solution(int a, int b) { return Integer.parseInt(".. 2024. 5. 26.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝 / 접미사인지 확인하기 https://school.programmers.co.kr/learn/courses/30/lessons/181908 문제설명어떤 문자열에 대해서 접미사는 특정 인덱스부터 시작하는 문자열을 의미합니다. 예를 들어, "banana"의 모든 접미사는 "banana", "anana", "nana", "ana", "na", "a"입니다.문자열 my_string과 is_suffix가 주어질 때, is_suffix가 my_string의 접미사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.  제한사항1 ≤ my_string의 길이 ≤ 1001 ≤ is_suffix의 길이 ≤ 100my_string과 is_suffix는 영소문자로만 이루어져 있습니다.풀이저는 이방식을 원래 문자열에서 접.. 2024. 5. 26.
[Java/프로그래머스 LV.0] 코딩 기초 트레이닝/더 크게 합치기 https://school.programmers.co.kr/learn/courses/30/lessons/181939 문제설명연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.12 ⊕ 3 = 1233 ⊕ 12 = 312양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 완성해 주세요.단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 합니다. 제한사항1 ≤ a, b  풀이 class Solution { public int solution(int a, int b) { int num1 = Integer.parseInt(""+a+b); int num2 = .. 2024. 5. 24.
728x90