알고리즘/문제(35)
-
프로그래머스 Level2 프린터
프린터 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문제에 대해 간단히 설명드리면 인쇄 요청을 하는 배열이 들어옵니다. 이제 인쇄 요청대로 맨 앞의 문서부터 프린터하려고 하는데 각 문서마다 고유한 우선순위가 있습니다. 맨 처음 순서에 인쇄하려는 문서를 확인해보니 이 문서보다 우선순위가 높은 문서가 목록에 있으면 이 손에 들고있는 문서를 요청 목록 맨 뒤에 다시 넣습니다. 그리고 다시 맨 앞에서 문서 하나를 꺼내..
2023.04.14 -
프로그래머스 Level2 기능 개발
기능 개발 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 간단하게 설명드리면, progresses 배열에 현재까지 진행된 각 프로젝트의 진척도가 있습니다. speeds 배열에서는 progresses와 index가 같은 위치의 프로젝트가 하루에 얼마큼 일할 수 있는지 하루 당 진행속도가 들어있습니다. 주의할 점은 뒤에 더 빨리 배포가 가능한 일이 있어도 앞에서 일이 끝나지 않으면 배포가 불가능합니다. 즉, 앞에서 ..
2023.04.13 -
프로그래머스 Level2 연속 부분 수열 합의 개수
연속 부분 수열 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제는 위의 링크에서 확인 부탁드립니다. 간단하게 설명드리면, 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 나올 수 있는 경우는 길이가 1인 연속 부분 수열로부터 [1, 4, 7, 9] 네 가지의 합이 나올 수 있습니다. 길이가 2인 연속 부분 수열로부터 [2, 5, 10, 11, 16] 다섯 가지의 합이 나올 수 있습니다. 길이가 3인 연속 부분..
2023.04.13 -
프로그래머스 Level2 예상 대진표
예상 대진표 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/12985 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 광고 게시가 없는 비영리, 비상업적 포스트입니다. 풀이 class Solution { fun solution(n: Int, a: Int, b: Int): Int { var cnt = 1 var a = a-1 var b = b-1 while(a/2 != b/2) { a /= 2 b /= 2 cnt++ } return cnt } } 예시를 보고 설명드리겠습니다. n =..
2023.04.11 -
프로그래머스 Level 2 광물 캐기
광물 캐기 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 저는 minerals 배열을 5개씩 묶어서 보았습니다. minerals의 size가 5의 배수다? -> 5개씩 묶은 배열들을 배열에 저장 나머지가 있다? -> 곡괭이의 전체 개수X5 한 값까지만 minerals 배열을 자르고 5개씩 묶어서 저장 다시 말해 곡괭이 1개당 5개의 미네랄을 캘 수 있으니까 곡괭이 전체 개수*5 가 최대로 캘 수 있는 미네랄들의..
2023.04.03 -
프로그래머스 Level 3 순위
순위 출처: 프로그래머스 https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 class Solution { fun solution(n: Int, results: Array): Int { var answer = n val graph = Array(n){ arrayOfNulls(n) } results.forEach { (n1, n2) -> graph[n1-1][n2-1] = 1 graph[n2-1][n1-1] = -1 } for(i in 0 un..
2023.03.21