'코딩 테스트'에 해당되는 글 8건
-
[프로그래머스/Java] 도넛과 막대 그래프 - Lv 2 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/258711?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr구현 중심의 문제로, 제시된 조건만 파악하면 쉽게 풀리는 문제였다. 문제에서 파악해야 하는 핵심 조건이 무엇이었는지를 알아보고, 이를 해결하기 위한 구현 과정을 살펴보자.문제 풀이문제에서는 도넛 묘양, 막대 모양, 8자 모양의 세 종류의 그래프를 제시합니다. 그리고 이 세 그래프에 속하지 않은 하나의 노드가 추가되어 모든 그래프를 연결합니다.그래프 별 노드의 특징먼저, 각 그..
-
[Java] 코딩 테스트에서 문자열 해시를 쓰면 안되는 이유 (HashMap, HashSet) 얼마 전, 아는 동생이 코테 대비 문제를 푸는데 똑같아야 할 것 같은 두 코드의 실행 시간이 너무 차이 난다는 이야기를 했다. 좌표를 다루어야 하는 문제인데, 한 코드는 다음과 같이 좌표를 int를 변환시켜 HashMap에 적용하였다.Map map = new HashMap();while (/* 반복 */) { int x = /* x 좌표 */; int y = /* y 좌표 */; int key = y * HEIGHT + x; map.put(map.getOrDefault(key, 0) + 1);} 또 다른 코드는 좌표를 String으로 변환하여 적용하였다.Map map = new HashMap();while (/* 반복 */) { int x = /* x 좌표 */; int ..
-
[프로그래머스/Java] 안티세포 - Lv 4 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/86054 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 프로그래머스에서는 가끔씩 월간 코드 챌린지라는 대회를 한다.지금까지 총 3회를 했는데, 이 문제는 그 중 마지막인 월간 코드 챌린지 시즌 3에 출제된 문제이다. DP인 것 같다는 생각이 들긴 했지만 조금 특이한 형태의 DP라 시간이 좀 걸렸다. 시간 복잡도를 활용해 풀이에 접근하는 방식을 한 번 살펴보도록 하자. 문제 전문 ↓더보기문제 설명당신에게 자연수로 이루어진 길이가 n인 배열 b가 주어집니다...
-
[프로그래머스/Java] 행렬과 연산 - Lv 4 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/118670 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정확성과 효율성 테스트가 같이 있는 문제이다. 코딩 테스트에서 이런 문제를 만나게 되면 효율성 테스트의 조건을 먼저 보아야 한다.효율성 테스트를 해결할 수 있는 풀이는 정확성 테스트도 해결할 수 있지만,정확성 테스트를 해결할 수 있는 풀이는 효율성 테스트를 통과하지 못할 수 있기 때문이다. 만약 처음부터 정확성 테스트의 조건을 해결하는 풀이를 고민한다면,한 문제를 두 번 풀어야 하는 상황이 발생할 ..
-
[프로그래머스/Java] 쌍둥이 빌딩 숲 - Lv 4 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/140105 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 처음 그림을 봤을 때 생긴 건 스택으로 푸는 히스토그램 문제랑 비슷하게 생겼다고 생각했다.제목에 쌍둥이가 들어가서 짝을 찾아야 하나 하는 생각이 들어서 그런 것도 있는 것 같다. 하지만 문제를 읽어보니 전혀 스택과는 관련 없어보였다. 오히려 처음에 히스토그램 문제를 접했을 때 떠올리는 점화식을 활용한 재귀적 접근으로 풀리는 문제였다. 문제 전문 ↓더보기문제 설명은비는 길을 걷다가 관광 명소인 쌍둥이..
-
[프로그래머스/Java] 1, 2, 3 떨어뜨리기 - Lv. 4 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/150364 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2023 카카오 블라인드의 문제이다.트리 그림이 그려져 있지만 구현의 비중이 더 높았던 것 같다. [취업과 이직을 위한 프로그래머스 문제 풀이 전략: 자바편]을 집필할 때 정말 신경 썼던 것이 가독성이다.이 문제처럼 구현 비중이 높은 문제들을 특히 가독성을 생각하며 코드를 작성해야 한다. 읽기 쉬운 코드는 로직에만 집중할 수 있으므로 이해하기 쉽고, 실수가 있어도 쉽게 잡아낼 수 있습니다. - [취..
-
[프로그래머스/Java] 경사로의 개수 - Lv. 4 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/214290 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 2023년 현대 모비스 알고리즘 경진대회 예선 문제라고 한다.현대 모비스에서 소프트웨어를 강조하기 위해 주최하는 경진대회라고 하는데 어마어마한 상품으로 상당히 화제였었다.1위 상이 무려 아이오닉 5... 차 한대가 상품이었다.2등상은 1,000만원 3등상은 500만원으로 역대급 대회였다. 하지만 그런 만큼 진짜 쟁쟁하신 분들이 나오셨다고...2024년 현대 모비스 알고리즘 경진대회도 총 상금 1억 ..
-
[프로그래머스/Java] 아날로그 시계 - Lv 2 문제 풀이 (실수 비교 안하기) https://school.programmers.co.kr/learn/courses/30/lessons/250135주어진 시간 범위 내에서 초침이 분침 / 시침과 겹치는 횟수를 세는 문제이다.문제 이해하기다음과 같은 조건들로 인해 제약 사항이 생긴다.각 바늘은 연속적으로 움직인다.바늘이 겹치는 시간이나 각도가 실수이기 때문에 정확한 비교는 힘들다.1초 안에 초침이 다른 하나의 바늘과 두 번 겹치는 경우는 없다.초침-분침, 초침-분침 과 같이 분침과 두 번 겹칠 일은 없다.다만, 초침-분침, 초침-시침과 같이 서로 다른 두 바늘과 겹칠 수는 있다.간단히 생각하면, 그냥 1초씩 시간을 흘려가면서 각 바늘의 각도를 계산해가면서 초침이 분침이나 시침의 각도를 넘어서는 횟수를 세주면 될 것이다. 딱 여기까지라면 ..