본문 바로가기

이직준비/Algorithm9

[Algorithm] 프로그래머스 - 디스크 컨트롤러 https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 힙큐를 이용한 풀이법. 변수 설명 jobs 배열 -> { 들어온 시간, 처리되는 시간 } 풀이법 하나의 처리가 종료되어야 다음 처리가 가능하기 때문에 큐를 이용해 들어온 처리들을 큐에 넣고 하나씩 꺼내면서 처리를 수행한다. 큐에서 꺼내어 처리 할 때마다 종료시간을 계산한다. 큐에 넣는 조건 현재 처리중인 노드의 종료시간을 계산. 종료시간보다 같거나 작은 시.. 2022. 3. 21.
[Algorithm] 프로그래머스 - 네트워크 https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 위 문제는 양방향 그래프를 형성하고 전체 그래프를 순회하면서 몇개의 그룹이 존재하는지 판단하는 문제이다. 먼저 입력에 대한 그래프를 생성한다. 그래프를 작성하는 코드는 다음과 같다. (배열을 이용함) 배열의 의미 ( graph[ i ][ j ] = i번째 노드와 j번째 노드가 연결 되어있으면 1, 아니면 0 ) int[][] graph; public int.. 2022. 3. 21.
[Algorithm] KAKAO - [1차] 추석 트래픽 https://programmers.co.kr/learn/courses/30/lessons/17676 2022. 3. 8.
[Algorithm] 카카오2022 - 신고 결과 받기 카카오 2022년 Level 1 (프로그래머스 기준) 문제이다. http://https://programmers.co.kr/learn/courses/30/lessons/92334 문제풀이 방법으로 처음 생각했던 방식이다. 이름별로 신고한 이름을 리스트로 만들고 이름이 리스트에 존재하지 않을때만 신고한 이름을 추가한다. (중복신고 불가능하기 때문) 이후 리스트에 추가 되면 해당 이름의 신고 카운트를 1 증가시킨다. 처음 작성한 코드 import java.util.*; import java.util.stream.Collectors; class Solution { public int[] solution(String[] id_list, String[] reports, int k) { int[] answer = .. 2022. 3. 2.
[Algorithm] 별찍기 - 18 https://www.acmicpc.net/problem/10993 10993번: 별 찍기 - 18 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 위 문제는 1~10 숫자를 받아 일정 패턴의 별을 찍어내는 문제이다. 해당 별의 n번째 모양은 마치 마법진처럼 전에 그렸던 (n-1 번째) 모양에 바깥쪽에 삼각형을 덧대어 그리는 형식이다. 해당 별 찍기는 2차원 배열을 이용하여 입력한 숫자에 따른 배열을 생성하고 일정 패턴에 맞는 자리에 * 모양을 대입하면 된다. (말은 쉽지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ) 이 문제는 거의 수학문제이다. 먼저 입력받은 n에 따른 배열의 크기를 정하는 식은 다음과 같다. n = 1 row = 1, col = 1 n = 2 row = 1 + 4, col .. 2020. 9. 9.