목록분류 전체보기 (152)
자바칩
난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 작업의 개수(progresses, speeds배열의 길이)는 100개 이하이다.즉 데이터의 개수 N이 100밖에 안 되어서 시간 복잡도의 영향을 받지 않으므로 O(N^2)으로도 풀 수 있는 문제이다. 우선 큐와 리스트를 다음과 같이 선언한다.counts는 배열의 임시 리스트이다. 배열은 크기를 조정시키기 어려우므로 우선 리스트로 선언하고 리턴할 때 배열로 바꿀 것이다. ..
난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제가 스택/큐 알고리즘이라는 것을 몰랐다면 나는 문자열로만 돌리다가 시간을 꽤 많이 잡아먹었을 것이다.하지만 스택/큐 문제라는 것을 알려주니까 내 생각보다 꽤 빨리 풀었다.어떤 알고리즘으로 접근해야 하는지 파악하는 것이 참 중요한 것 같다. 우선 큐와 스택을 선언한다. QueueCharacter> queue = new LinkedList(); // 문자열..
난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제에 주어진 조건을 그대로 구현하면 된다.큐를 사용해야 한다는 것도 문제에서 친절하게 알려준다.우선 실행 대기 큐와 실행 리스트를 다음과 같이 선언한다. int answer = 0; // location번째 프로세스가 실행되는 순서 QueueProcess> ready = new LinkedList(); // 프로세스 실행 대기 큐 ListPro..

난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제의 지문은 확실히 잘못 되었다.트럭이 다리를 모두 지나기까지의 경과 시간이 어떻게 되는지 제대로 명시해놓지 않았다.프로그래머스의 지문은 별로 좋지 않은 문제들이 꽤 있는 것 같다.본 문제의 지문이 이해가 가지 않는다면 아래 지문을 다시 보면 좀 이해가 될 것이다.출처: https://school.programmers.co.kr/questions/53163 우선 변수..

난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/42584 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 지문이 너무 이상해서 이해가 안됐다.다른 회원분이 문제 지문을 재해석한 버전(아래 링크)을 보면 본 문제의 지문보다는 이해가 잘 될 것이다.https://school.programmers.co.kr/questions/20326?question=20326 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나..
난이도: Level 3문제: https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 체감상 레벨3 문제치고는 쉬운 문제였다.이정도면 솔직히 레벨2 중에서도 쉬운 문제가 아닐까 싶다. 큐를 정렬하려면 우선순위 큐를 사용해야 하는데, 이중우선순위큐는 자바 라이브러리에 존재하지 않는다.그러므로 이것을 우리가 만들어야 한다는 것이다.일단 우선순위 큐를 다음과 같이 내림차순 정렬한다.참고로 여기에서는 Integer.compare(b, a) 대신 b - a로 작성해..
난이도: Level 3문제: https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 우선순위 큐를 이용해서 푸는 문제인데 생각보다 경우의 수가 많아서 내 힘으로는 결국 풀지 못했다.레벨3답게 방법이 꽤 복잡하다.작업 처리가 종료된 최근 시간보다 요청 시점이 이전인 작업들을 작업의 소요시간이 짧은 작업들부터 순서대로 처리하는 것이 이 로직의 핵심이다.경우의 수가 많기 때문에 그림 설명을 보기보다는 바로 코드를 보는 것이 이해가 더 잘 될 것이다.주석에 설명..
난이도: Level 2문제: https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제가 정렬로 분류되어있지만 사실 정렬할 필요가 전혀 없다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 빨간색으로 표시한 문장은 헷갈릴 수 있다.나머지 논문의 개수가 h번 이하인 것이 아니라, 나머지 논문의 배열 값(논문의 인용 횟수)이 모두 h번 이..