전체 글 119

[ 코딩테스트 ] 프로그래머스 월간 코드 챌린지 시즌2 음양더하기

문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와  이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다.  실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 제한사항 absolutes의 길이는 1 이상 1,000 이하입니다. absolutes의 모든 수는 각각 1 이상 1,000 이하입니다. signs의 길이는 absolutes의 길이와 같습니다. signs[i] 가 참이면 absolutes[i] 의 실제 정수가 양수임을, 그렇지 않으면 음수임을 의미합니다. 입출력 예 absolutes signs result[4,7,12][true,false,true] 9[1,2,3] [false,false..

[코딩테스트] 하샤드 수

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고,  18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예xreturn10true12true11false13false입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합은 2입니다. 11은 ..

[ 코딩테스트 ] 정수 내림차순으로 배치하기, 두 정수 사이의 합, 정수 제곱근 판별

주말에 넘 머리 비우고있었나집중 안되서 오늘은 질보다 양으로,, ,,,ㅠ   문제 설명함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다.입출력 예nreturn118372 873211  나의 풀이-> long 을 문자열 배열에 담고, 오름차순으로 정렬한 뒤에 내림차순으로 뒤집기import java.util.Arrays;class Solution { public long solution(long n) { char[] arr = String.valueOf(n).toCharArray(); ..

[코딩테스트] 자연수 뒤집어 배열로 만들기

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예nreturn12345[5,4,3,2,1]  나의 풀이-> 배열로 바꾸기, 같은 크기의 배열 선언 (거꾸로 뽑을 용도).반복문 뒤에서 부터 돌면서 하나씩 빼기 (2번째배열값 늘려가면서 넣) class Solution { public int[] solution(long n) { int[] intArr = String.valueOf(n).chars().map(c -> c - '0').toArray();; int[] reverseAr..

[코딩테스트 ] 프로그래머스 Lv1. 핸드폰 번호 가리기

문제 설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number는 길이 4 이상, 20이하인 문자열입니다.입출력 예phone_number return"01033334444""*******4444""027778888""*****8888"  나의 풀이-> 뒤에서 맨 앞 글자부터 끝에서 4번째 글자까지 *으로 치환하기.class Solution { public String solution(String phone_num) { re..

[Java] Stack / Queue 사용예시

코테하다보니 종종 등장해서 적어봄  LIFO (last in first out) 특성 이용할 때 사용하는 Stack  주요 메서드 push(item) 스택에 요소 추가pop() 스택 최상단 요소 제거 및 반환peek() 스택 최상단 값 조회isEmpty() 스택이 비어있는지 확인size() 스택의 사이즈search(Object o) 해당 요소가 스택에서 몇번째인지 반환. 없으면 -1   사용 예시 코드 import java.util.Stack; public class StackExample {     public static void main(String[] args) {         Stack stack = new Stack();         // 요소 추가         stack.push(10)..

Chapter01/Java 2025.03.07

[ 코딩테스트 ] 프로그래머스 Lv2. 기능개발

문제설명프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고,  이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와  각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때  각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 ..

[ 코딩테스트 ] 프로그래머스 Lv2. 짝지어 제거하기

2017 팁스타운 > 짝지어 제거하기  문제 설명 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자..

[ 코딩테스트 ] 프로그래머스 Lv2.올바른 괄호

문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. 제한사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다.입출력 예 s answer "()()" true "(())()" true ")()(" false "(()(" false  나의 풀이->..

[ 고딩데스드 ] 프로그래머스 Lv2.JadenCase 문자열 만들기

문제설명JadenCase란 모든 단어의 첫 문자가 대문자이고,  그 외의 알파벳은 소문자인 문자열입니다.  단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 1 이상 200 이하인 문자열입니다. s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다. 숫자는 단어의 첫 문자로만 나옵니다. 숫자로만 이루어진 단어는 없습니다. 공백문자가 연속해서 나올 수 있습니다.입출력 예 s return "3people unFollowed me" "3people Unfollowed Me" "for the last week" "F..