본문 바로가기
반응형

Problem Solving155

2019 - 실패율 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr [ 문제풀이 ] 매우 간단한 문제이다. 1~N 번 스테이지에 도전 중인 유저의 수를 구한 후 1~N 번 스테이지를 돌면서 각 스테이지의 실패율을 구해주면 된다. 실패율을 double형으로 선언하는 것만 주의해주면 된다. import java.util.*; class Solution { class Node implements Comparable { int idx;.. 2021. 8. 8.
2019 - 오픈채팅방 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr [ 문제풀이 ] HashMap 자료구조를 사용한다면 쉽게 해결할 수 있는 문제이다. ​모든 record를 돌면서 Enter, Leave인 경우 HashMap에 넣어주면서 유저 아이디를 갱신해주고 Enter, Leave인 경우 채팅방 메시지를 유저 아이디와 함께 넣어준다. ​이후 정답 리스트를 돌면서 유저 아이디를 갱신된 유저 아이디로 변경해주고 출력해준다. im.. 2021. 8. 8.
백준 1484 : 다이어트 https://www.acmicpc.net/problem/1484 1484번: 다이어트 첫째 줄부터 한 줄에 하나씩 가능한 성원이의 현재 몸무게를 오름차순으로 출력한다. 가능한 몸무게가 없을 때는 -1을 출력한다. 현재 몸무게는 자연수로 떨어지지 않을 수도 있는데, 이런 경우 www.acmicpc.net [ 문제풀이 ] 수학적으로 접근하면 쉽게 해결할 수 있는 문제이다.현재 몸무게를 x, 기억하고 있던 몸무게를 y로 둔다면 다음과 같이 표현할 수 있다. G = x^2 - y^2 이를 풀어보면 다음과 같으며 결국 (x+y)와 (x-y)는 G의 약수여야 한다는 것을 알 수 있다. G = (x+y)(x-y) 따라서 루트 G부터 1까지 차례대로 탐색해주면서 G의 약수를 찾아주면 된다. 주의해야 할 점은 우리가 .. 2021. 8. 8.
2018 - [3차] n진수 게임 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr [ 문제풀이 ] 이전에 풀었던 비밀지도 문제처럼 10진수를 n진수로 변환하는 방법을 알고 있다면 쉽게 해결할 수 있는 문제이다. ​주어진 10진수의 수가 0보다 클 때까지 n으로 계속해서 나눠주면 된다. 출력할 때는 역순으로 출력해준다. 문자열의 길이가 내가 미리 구해야 할 숫자가 나오는 길이보다 클 때까지 모든 정수를 변환해서 문자열에 붙여준 .. 2021. 8. 7.
2018 - [3차] 파일명 정렬 https://programmers.co.kr/learn/courses/30/lessons/17686# 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr [ 문제풀이 ] 2018 카카오 기출문제들은 문자열을 다루는 문제가 참 많은 것 같다. 이 문제 또한 주어진 file에서 조건대로 HEAD, NUMBER를 추출한 후 정렬해주면 쉽게 해결할 수 있다. ​다만, NUMBER를 추출할 경우 주의해야 한다. NUMBER는 HEAD의 다음 인덱스부터 최대 다섯 글자로 이루어질 수 있지만 file의 총길이가 .. 2021. 8. 7.
2018 - [3차] 자동완성 https://programmers.co.kr/learn/courses/30/lessons/17685# 코딩테스트 연습 - [3차] 자동완성 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g programmers.co.kr [ 문제풀이 ] 문자열을 검색하는 문제이기 때문에 Trie 자료구조를 사용하면 쉽게 해결할 수 있다. 모든 문자열을 Trie 자료구조에 삽입한 후 다시 모든 문자열에 대해서 query를 하면 된다. ​나는 자식 수를 나타내는 별도의 배열을 추가하여 해결하였다. 자식 수가 1이라는 것은 자신 말고 입력된 문자열이 없다는 것을 의미하기 때문에 다.. 2021. 8. 7.
2018 - [3차] 압축 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr [ 문제풀이 ] HashMap 자료구조를 사용하면 정말 간단하게 해결할 수 있는 문제이다. 문자열 끝까지 진행하면서 현재의 문자열이 HashMap에 존재하는지를 판단하면서 계속해서 갱신해주면 된다. import java.util.*; class Solution { public int[] solution(String msg) { ArrayList list = new ArrayList().. 2021. 8. 7.
2018 - [3차] 방금그곡 https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr [ 문제풀이 ] 주어진 musicinfos의 악보를 재생된 시간만큼의 길이로 만들어서 기억한 멜로디 m이 존재하는지를 확인하면 되는 간단한 문제이다. ​악보의 최대 길이는 00:00 ~ 23:59까지인 1439개밖에 안되기 때문에 모든 문자열을 탐색한다 하여도 시간 초과가 발생하지는 않을 것이다. ​하지만 테스트 케이스 3번과 같은 경우를 조심해줘야.. 2021. 8. 7.
2018 - [1차] 다트 게임 https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr [ 문제풀이 ] 문자열을 탐색하면서 주어진 조건대로 구현해주면 되는 문제이다. 주어진 문자열에서 3가지 영역을 잘 추출할 수 있다면 쉽게 해결할 수 있다. class Solution { public int solution(String dartResult) { int answer = 0, beforeScore = 0; for (int i = 0; i < dartResult.length(); ) { int j, value = 0; for (j = i+1; j < dartResult.length(); ++j) { //현재 문자가 정수가 아.. 2021. 8. 7.
반응형