본문 바로가기

algorithm50

[백준] 20056.마법사 상어와 파이어볼 / 시뮬레이션 @시뮬레이션 / 1h 2020 하반기 삼성전자 코딩테스트 오전(DS) 2번 문제. 그때 문제 잘못 읽어서 삽질한것만 생각하면...ㅜㅜ 근데 그때랑 문제의 전체 흐름은 똑같은데, 조건이 살짝 다른 것 같다. 그때는 일단 이동한 후, 다음 해에 부딪힌 행성이 터졌던 것 같은데.. 뭐 여튼 문제 링크 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 구현 포인트 시뮬레이션이니까, 문제에서 시키는 대로 차근차근 하.. 2020. 12. 13.
[Programmers] 힙.디스크 컨트롤러 / Heap @Heap / 30m 정렬 조건을 어떻게 줘야 하는지 난해해서 고민을 좀 했다. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 문제 유형 맨날 풀던 유형들과는 조금 결이 다른 문제여서 살짝 당황했었다. 풀고 나서 구글링을 해봤더니 OS에 이 개념과 관련된 알고리즘이 있었다. 와우.. 잘 알려진 알고리즘인데 그게 이거일 줄이야.. > SPN(Shortest Process Next) / SJF(.. 2020. 11. 15.
[Programmers] 해시.베스트앨범 / HashMap @HashMap / 30m 해시 연습하기 좋은 문제 + Comparable 연습하기도 좋다! 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 구현 방법 맵을 두개 써서 구현했다. 하나는 장르마다 총 재생 시간을 담은 맵 다른 하나는 장르마다 속한 곡들의 리스트를 담은 맵 1. 를 담은 HashMap인 genreMap을 만든다. 2. Map의 내용을 List인 genreList에 옮겨담은 후 (Ge.. 2020. 11. 4.
[Programmers] 스택/큐.주식가격 / Stack @Stack / 25m 생각보다 쉬우면서도 생각보다 까다로운 문제 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 구현 포인트 스택이 왜 필요한지에 대해 이해해야 한다. 물론 스택 없이도 풀 수는 있겠지만, 그러면 효율성이 떨어질 것이다 ㅜㅜ 스택에 들어가려면 스택이 비어있거나, 아니면 stack.peek() 값이 지금 넣으려는 값보다 항상 작아야 한다. 만.. 2020. 11. 3.
[백준] 1713.후보 추천하기 / 시뮬레이션 @시뮬레이션 / 2h 푸는건 30분도 안걸렸는데 최댓값 설정 잘못해서 그거 찾느라 한참 걸렸다ㅜㅜ 문제 링크 https://www.acmicpc.net/problem/1713 1713번: 후보 추천하기 첫째 줄에는 사진틀의 개수 N이 주어진다. (1≤N≤20) 둘째 줄에는 전체 학생의 총 추천 횟수가 주어지고, 셋째 줄에는 추천받은 학생을 나타내는 번호가 빈 칸을 사이에 두고 추천받은 순서대로 � www.acmicpc.net 구현 포인트 맵을 두개 사용했다. countMap : idxMap : if (countMap.containsKey) { // 이미 추천 받은 학생이라면 추천 횟수 + 1을 해준다 } else { //새로 추천 받은 학생이라면 if (countMap.size >= N) { //이미 사.. 2020. 10. 8.