코딩테스트 문제
-
(프로그래머스/자바) 전력망을 둘로 나누기코딩테스트 문제 2024. 3. 14. 10:51
https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2023-03-14 처음 접해보는 dfs유형의 문제였다. 그래프를 활용해서 모든 조건을 검사해봐야겠다라는 생각은 했지만 막상 코드로 적으려 해보니 무엇을 고려하고 어떻게 체크해야할지 알 수 없었다. 결국 괜찮은 풀이 방법을 찾아보고 참고해서 내가 알지 못한 것을 알아봤다. 참고 블로그: https://isshosng.tistory.com/162 [프로그래머스/자바] 전력망을 둘로 나누기 - bfs..
-
프로그래머스) 피로도코딩테스트 문제 2024. 2. 23. 15:49
https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이번 문제는 완전탐색(dfs)를 사용하는 문제이다. 문제에서 명시를 해놔서 망정이지 dfs를 몰랐던 나에게는 귀중한 시간을 날려버릴뻔했다. 문제 풀이에 앞서 dfs를 어떻게 적용했는지 살펴보자. 아직도 dfs는 생초짜이기 때문에 다른 분들의 코드도 많이 참고했음을 이해바란다. // 1차 고민 1. 피도로 k와 dungeons[i][0]을 비교하고 k가 많으면 진행한다. 2. 진행하면서 k - du..
-
프로그래머스) 숫자 변환하기코딩테스트 문제 2024. 2. 23. 13:41
https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 정답까지 필요한 최소 연산 수를 구하는 문제이다. 그래서 처음 생각해낸 알고리즘 방법은 bfs였다. 문제를 풀기 앞서 먼저 과정을 생각해보자. // 1차 고민 1. y값과 x값을 비교한다. 2. 같지 않으면 연산한다. 3. 연산값이 y를 넘어서면 답이 일치하는것이 없으므로 종료한다. // 2차 고민 1. bfs로 스택에 넣어서 관리한다. 2. 중복연산을 피하기 위해 visited를 s..
-
프로그래머스 없는 숫자 더하기코딩테스트 문제 2023. 11. 21. 09:38
문제 설명 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ numbers의 길이 ≤ 9 0 ≤ numbers의 모든 원소 ≤ 9 numbers의 모든 원소는 서로 다릅니다. 제한사항을 보면 numbers배열에 중복값이 들어가지 않는다. 그렇다면 Array sort를 이용해 numbers를 정렬하고, 숫자값을 대조해 없는 숫자를 찾아 answer에 더하면 될것이다. 전에 사용한적 없던 IntStream.of(array).anymatch(x -> x == y)는 int배열에 요소들을 x, 찾고 싶은 값을 y로 했을때 ..
-
프로그래머스 핸드폰 번호 가리기코딩테스트 문제 2023. 11. 20. 10:45
문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 코딩 문제를 풀면서 느낀 점이지만, 자바와 파이썬의 차이 중 가장 몸에 와닿는 것은 문자열을 다루는 방법같다. 파이썬에서는 한없이 쉽게 풀리던 문제도 자바에서 풀려고하면 바로 방법이 떠오르지 않는다. 아직 자바에 익숙하지 못해서 생긴 이슈라고 생각해야겠다. 서론이 길었다. 내가 생각한 이 문제의 핵심은 문자열 자르기이다. 사용한 메서드들은 아래와 같다. substring String str = "abcd"; //문자열을 원..
-
프로그래머스 음양 더하기코딩테스트 문제 2023. 11. 20. 10:31
문제 설명 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 쉽게 말해서 절댓값을 모은 정수 배열 absolutes와 그 absolutes배열의 순서대로 부호를 담은 signs배열을 사용해 새로운 배열 요소들의 총 합을 구하는 문제이다. 처음보자마자 어떻게 풀어야 할지 답이 나온 문제지만, 구현까지는 생각보다 시간이 들어갔다. 마지막에 내가 속시원하게 풀었다고 생각한 풀이는 삼항 연산자를 사용한 풀이였다. 삼항연산자는 피연산자를 3개를 가지는 조건연산자인데, 말로 설명하면 어려우니 아래 문법을 보도록..