[Softeer] Java - level3 문제풀이(성적평가)
·
개발자 세릴리/코딩테스트
softeer 성적평가(Java) [문제] 현주는 N명의 인원이 참여하는 프로그래밍 스터디 그룹을 이끌고 있다. 현주는 스터디를 위해 대회를 세 개 개최하였고, 모든 구성원이 각 대회에 참여하였다. 참가자는 각 대회에서 0 이상 1,000 이하의 정수인 점수를 얻는다. 한 대회에서 둘 이상의 참가자가 동점이 나오는 경우도 있을 수 있다. 현주는 각 대회별 등수 및 최종 등수를 매기고 싶다. 등수는 가장 점수가 높은 사람부터 1등, 2등, ···, N등의 순서대로 붙는다. 만일 동점이 있을 경우 가능한 높은 (등수의 수가 작은) 등수를 부여한다. 즉, 점수가 내림차순으로 10,7,6,6,4의 순서일 경우, 6점을 받은 두 사람은 공동 3등이 되고, 그 다음 순서인 4점을 받은 사람은 5등이 된다. 이 규칙..
[Softeer] Java - level3 문제풀이(업무처리)
·
개발자 세릴리/코딩테스트
softeer 업무처리(Java) [문제] 어떤 부서의 업무 조직은 완전이진트리 모양이다. 즉, 부서장이 루트이고 부서장 포함 각 직원은 왼쪽과 오른쪽의 부하 직원을 가진다. 부하 직원이 없는 직원을 말단 직원이라고 부른다. 모든 말단 직원은 부서장까지 올라가는 거리가 동일하다. 조직도 트리의 높이는 H이다. 아래는 높이가 1이고 업무가 3개인 조직도를 보여준다. 업무는 R일 동안 진행된다. 처음에 말단 직원들만 각각 K개의 순서가 정해진 업무를 가지고 있다. 각 업무는 업무 번호가 있다. 각 날짜에 남은 업무가 있는 경우, 말단 직원은 하나의 업무를 처리해서 상사에게 올린다. 다른 직원들도, 대기하는 업무가 있는 경우 업무를 올라온 순서대로 하나 처리해서 상사에게 올린다. 단, 홀수 번째 날짜에는 왼쪽..
[일상] 코딩테스트 어렵다😭
·
개발자 세릴리/일상
현재 독학으로 자료를 얻어가며 퇴근 후 한 문제씩 풀어가고 있는데 softeer level 3에 딱 들어서니 너무 어렵습니다..ㅎㅎㅎ 이진탐색 트리, 스택과 큐 모두 공부해야할 것들 투성이인데 코드가 복잡하게 느껴지고 왜 명료해지지 않을까요. 원리는 이해했으나 막상 코드를 짜려고 하면 어디서 부터 구조를 손대야할지 막막한 느낌에 멍때리기만 합니다ㅠㅠ 그리고 오늘 LinkedList 라는 새로운 자료구조를 알게되었습니다. 지금 풀고있는 이진탐색 트리는 LinkedList와 큐를 이용하여 풀어야 하는데요... 손으로 수학문제 풀듯 먼저 예시 상황을 조금 적어놓고 시작하는 것이 방법일 것 같습니다...ㅎㅎ 지난번 코딩테스트가 연기된 이후 하루 한 문제씩 풀어서 그 사이에 더 공부하고 참여하면 좋은 성적이 있을..
[Softeer] Java - level2 문제풀이(바이러스)
·
개발자 세릴리/코딩테스트
softeer 바이러스(Java) [문제] 바이러스가 숙주의 몸속에서 1초당 P배씩 증가한다. 처음에 바이러스 K마리가 있었다면 N초 후에는 총 몇 마리의 바이러스로 불어날까? N초 동안 죽는 바이러스는 없다고 가정한다. [제약조건] 1 ≤ K ≤ 108인 정수 1 ≤ P ≤ 108인 정수 1 ≤ N ≤ 106인 정수 [입력형식] 첫 번째 줄에 처음 바이러스의 수 K, 증가율 P, 총 시간 N(초)이 주어진다. [출력형식] 최종 바이러스 개수를 1000000007로 나눈 나머지를 출력하라. [풀이] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class level2_9 {..
[Softeer] Java - level2 문제풀이(GBC)
·
개발자 세릴리/코딩테스트
softeer GBC(Java) [문제] 글로벌 비즈니스 센터(GBC, Global Business Center)는 현대자동차그룹 통합 사옥이다. 지하 7층, 지상 105층, 높이 약 570m의 규모로 2026년 하반기에 완공을 목표로 현재 공사 중에 있다. 이러한 초고층 높이의 빌딩에는 초고층 승강기가 들어가야 한다. 엘리베이터 정비공인 광우는 0m 부터 100m까지 일정 구간들의 엘리베이터 속도를 검사하는 업무를 맡게 되었다. 빌딩에서 운영되는 엘리베이터 구간은 N개의 구간으로 나뉘며 해당 구간의 제한 속도이 주어진다. 구간의 총 합은 100m 이며 각 구간별 구간의 길이와 제한 속도 모두 양의 정수로 주어진다. 예를 들어보자. 구간이 3이라고 할 때, ▶ 첫 번째 구간의 길이는 50m 이고 제한 속..
[Softeer] Java - level2 문제풀이(전광판)
·
개발자 세릴리/코딩테스트
softeer 전광판(Java) [문제] 현대차그룹에 다니는 당신은 전세계 유가 변동에 대해 실시간으로 파악하기 위해 사무실에 유가를 실시간으로 표시하는 전광판을 설치하였다. 전광판은 최대 다섯 자리의 자연수만을 표시할 수 있도록, 아래와 같이 육각형 모양의 전구 7×5=35개로 구성되어 있다. 8자 모양의 전구 묶음은 0부터 9까지의 숫자를 표현할 수 있으며, 표현 방법은 아래와 같다. 아래 그림에서 전구가 켜졌으면 검정색, 꺼졌으면 옅은 회색으로 표현되었다. 예를 들어, 전광판을 통해 9881를 표현하면 아래와 같다. 만의 자리 수가 없기 때문에, 만의 자리에 해당하는 전구들이 모두 꺼져 있음에 유의하라. 예를 들어, 전광판을 통해 10724를 표현하면 아래와 같다. 각각의 전구에는 스위치가 달려 있..
[Softeer] Java - level2 문제풀이(회의실 예약)
·
개발자 세릴리/코딩테스트
softeer 회의실 예약(Java) [문제] 회사에는 N개의 회의실이 있다. 수많은 팀이 모여 토론하고 업무를 처리하기 위해서는 회의실이 필수적이다. 내부망에 아주 간단한 회의실 예약 시스템이 있지만 편의성이 매우 떨어진다. 단순히 예약된 회의의 목록만 표시되기 때문에, 방 별로 비어 있는 시간이 언제인지를 확인하기가 힘든 것이다. 당신은 이를 직접 해결해 보기로 마음 먹었다. 회의실 이용 규칙은 다음과 같다: - 회의실은 9시부터 18시까지만 사용 가능하다. 모든 회의의 시간은 이 안에 완전히 포함되어야 한다. - 회의는 정확히 한 회의실을 연속한 일정 시간 동안만 점유한다. 즉 각 회의는 (회의실, 시작 시각, 종료 시각)의 정보로 나타낼 수 있다. - 회의의 시작과 종료 시각은 시(時, hour)..
[Softeer] Java - level2 문제풀이(비밀 메뉴)
·
개발자 세릴리/코딩테스트
softeer 비밀 메뉴(Java) [문제] 회사 식당에는 전설처럼 전해 내려오는 비밀 메뉴에 대한 소문이 있다. 소문의 내용은 대강 이러하다. 식권 자판기의 버튼을 특정 순서대로 누르고 결제를 하면, 평소와는 다른 색깔의 식권이 나온다. 이 식권을 배식대에 제출하면, 어떤 비밀 메뉴를 받을 수 있다는 것이다. 물론 이를 실제로 본 사람은 아무도 없어서, 어떤 메뉴가 나오는지는 커녕 눌러야 하는 버튼의 순서조차 알려져 있지 않다. 주방장인 당신은 이 소문의 실체를 알고 있다. 이는 분명한 사실이다! 정해진 버튼 조작법을 사용하면 비밀 메뉴의 식권을 얻을 수 있다. 그러나 얼마 전 식권 자판기가 고장으로 교체되면서, 새 자판기에서는 비밀 메뉴 조작법이 작동하지 않게 되었다. 당신은 프로그래밍 실력을 살려,..