전체 글 385

[프로그래머스 코딩테스트] 2016년(Java)

문제 설명 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일같은 날짜는 주어지지 않습니다) 입출력 예 a b result 5 24 "TUE" import java.time.LocalDate; import java.time.DayOfWeek; class Sol..

[프로그래머스 코딩테스트] 영어가 싫어요(Java)

문제 설명 영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 소문자로만 구성되어 있습니다. numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"들이 공백 없이 조합되어 있습니다. 1

[프로그래머스 코딩테스트] 폰켓몬(Java)

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙야 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 ..

[프로그래머스 코딩테스트] 문자열 내림차순으로 배치하기(Java)

문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한사항 str은 길이 1 이상인 문자열입니다. 입출력 예 s return "Zbcdefg" "gfedcbZ" import java.util.Arrays; import java.util.Collections; class Solution { public String solution(String s) { String[] str = s.split(""); Arrays.sort(str, Collections.reverseOrder()); String answer = String.join("", s..

[제로베이스 백엔드 스쿨 11기] 8. 아직도 갈 길이 멀다

이번 주는 컴퓨터 공학을 듣고 있다. 사실 객체지향도 듣긴 해야 하는데 당장 컴퓨터 공학에 관한 시험이 있기 때문에 어쩔 수 없다. 컴퓨터 공학 파트는 타 부트캠프와 비교해 제로베이스를 선택한 이유 중 하나이기도 하다. 프론트엔드였다면 신경 쓰지 않았을 수도 있지만, 백엔드의 경우 컴퓨터 공학 관련 지식을 잘 알아야 한다는 이야기를 자주 들어왔기 때문이었다. 파트의 절반 정도 들었고 아직도 한나절은 쉬지 않고 들어야 끝이 날 듯하다. 다른 사람들은 어떨지 모르겠지만 나는 만족한다. 앞으로 들을 강의도 조금 기대된다. 비전공자인 나는 관련 지식이 하나도 없기 때문에 이런 지식을 접할 일이 없어서, 더욱 중요한 시간인 듯하다. 어떤 기술의 개념이 다른 개념으로 점진적으로 확장해나가거나, 다른 지식과의 밀접한..

일상/ZB 2023.04.12

[프로그래머스 코딩테스트] 두 개 뽑아서 더하기(Java)

문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 입출력 예 numbers result [2, 1, 3, 4, 1] [2, 3, 4, 5, 6, 7] [5, 0, 2, 7] [2, 5, 7, 9, 12] import java.util.HashSet; import java.util.ArrayList; import java.util.Collections; class Solution { public int[] soluti..

[프로그래머스 코딩테스트] 숫자 찾기(Java)

문제 설명 정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 < num < 1,000,000 0 0) { int digit = num % 10; count++; if (digit == k) { answer = length - count + 1; } num /= 10; } return answer; } } num을 이루는 숫자 중 k가 없다면 -1을 반환해야 하므로, answer를 -1로 초기화했습니다. 숫자의 길이를 세는 length 변수를 만들어줍니다. 이를 위해 Math 클래스의 log 메소드를 이용했습니다. 만약 num이 10이라면 ..

[프로그래머스 코딩테스트] 외계행성의 나이(Java)

문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, …, j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMERS-962식 나이를 return 하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age 0) { int digit = age % 10; age /= 10; sb.append(map.get(digit)); } answer = sb.reverse().toString(); return answer; } } ..