본문 바로가기
반응형

알고리즘15

[kotlin] 백준 3078번 - 좋은 친구 https://www.acmicpc.net/problem/3078 3078번: 좋은 친구 첫째 줄에 N과 K가 주어진다. (3 ≤ N ≤ 300,000, 1 ≤ K ≤ N) 다음 N개 줄에는 상근이네 반 학생의 이름이 성적순으로 주어진다. 이름은 알파벳 대문자로 이루어져 있고, 2글자 ~ 20글자이다. www.acmicpc.net 백준 3078번 코틀린 풀이입니다. 문제의 풀이는 그리 어렵지는 않으나, 해당 풀이를 떠올릴때 까지 애를 많이 먹었습니다. (큐 문제인지 알고 접근하였으나, 🥲큐를 사용해서 어떻게 풀지? 만 열심히 고민했네요.) 그리디 + 큐 자료구조를 이용한 문제입니다. 문제 첫쨋줄에 학생의 수와 k가 주어지고, 학생들이 차례로 주어집니다. 4 2 IVA IVO ANA TOM 학생들은 등수대.. 2023. 9. 17.
[kotlin] 백준 6198번 - 옥상 정원 꾸미기 코틀린 풀이입니다. 해당 문제는 for문으로 순회할 경우 시간초과가 발생하며, 발상의 전환과 함께 stack으로 풀이하여야 풀리는 문제입니다. 스택문제인 것이란 힌트를 알고도, 발상의 전환을 하지 못하여 오래 헤매어 정리해 놓습니다. 스택으로 풀이되는 (전형적인) 문제 유형인듯 합니다. https://www.acmicpc.net/problem/6198 6198번: 옥상 정원 꾸미기 문제 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실 하기 때문에, 다른 빌딩의 옥상 정원을 벤치마킹 하고 싶어한다. i번째 빌딩의 키가 hi이고, 모든 빌딩은 일렬로 서 있고 오른쪽으 www.acmicpc.net 문제 설명 도시에는 N개의 빌딩이 있다. 빌딩 관리인들은 매우 성실하기 때문에, 다른 빌딩의 옥상 정원을.. 2023. 9. 6.
[kotlin] 프로그래머스 - 주사위게임3 ; 코틀린 문법 연습 최근들어 코틀린을 공부하고 있습니다. 하지만 코드 작성 경험이 적어 익숙해지기 위해 프로그래머스 기초 역량 트레이닝을 풀다, 문법적으로 공부하기 좋았던 문제를 정리합니다. https://school.programmers.co.kr/learn/courses/30/lessons/181916 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 .. 2023. 8. 12.
[JS] 프로그래머스 - H-index 프로그래머스 H-index 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 .. 2020. 3. 21.
[JS] 프로그래머스 - N개의 최소공배수 N개의 최소공배수 문제 설명 두 수의 최소공배수(Leat Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서 n개의 수의 최소공배수는 n개의 수들이 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 답은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해주세요. 제한 사항 arr은 길이 1이상, 15 이하인 배열입니다. arr의 원소는 100이하인 자연수 입니다. 입출력 예 input : [2,6,8,14] result = 168 유클리드 호제법을 접한적이 있지만, 암기는 하지 못해 일단 최소공배수를 산수에서 구하듯 구하였다. 몇가지 te.. 2020. 3. 19.
[JS] 코딩테스트 이력서를 쓰기 시작한지 조금 되다보니 면접을 (조금씩) 보고다니고 있는데, 몇번 안되는 코딩테스트 경험상는 집에서 편안히 알고리즘을 푸는 것 보다 정말 5~6배쯤 헤메는것같다. 또.. 헤메기 시작하면 당황해서 더 헤메는 것 같다. 물론.. 내가 한동안 알고리즘에 너-무 소홀해서 .. 그런탓이 크긴하다..반성.. 아래는 몇일전에 실제로 코딩테스트로 받았던 것인데, 일단.. 문제가 영어여서 1차로 당황했고.. 해석이 안되서 2차 당황했고..(동사가 없는 문장이라니..) 당황하니까 풀이법이 전혀 생각이 안나서 3차 당황했다.. 제한시간이 40분이었는데, 적어도 10분은 뇌정지가 와서 거의 풀지 못하고 결국에는 시간초과로 한문제는 풀지는 못했다..시간이 없어서 풀다가 수도코드만 적어 내었다..8_8 메일로 사정.. 2020. 3. 17.
[JS] 프로그래머스 - 짝지어 제거하기 문제 - 링크 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 주세요. 성공적으로 수행할 수 있으면 1을, 아닐 경우 0을 리턴해주면 됩니다. 예를 들어, 문자열 S = baabaa 라면 b aa baa → bb aa → aa → 의 순서로 문자열을 모두 제거할 수 있으므로 1을 반환합니다. 제한사항 문자열의 길이 : 1,000,000이하의 자연수 문자열은 모두 소문자로 이루어져 있습니다.. 2020. 3. 17.
728x90
반응형