본문 바로가기

Algorithm48

[프로그래머스(programmers)] (2017 팁스타운) 예상 대진표 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 예상 대진표 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12985# 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 문제 풀이 다음라운드 자신의 대진번호는 (현재라운드 + 1) / 2 이다. 처음 풀어보았을 땐, b를 무조건 큰 수로 만든 후 b-a 의 차이로 구했다.이렇게 할 경우 테스트 케이스 7번, 33번 에서 실패였다. 바로 a = 4, b = 5일 경우에.. 2021. 6. 1.
[프로그래머스(programmers)] (2017 팁스타운) 짝지어 제거하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 짝지어 제거하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12973 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 문제 풀이 stack 과 substring() 을 사용해서 푼다. 이 문제를 보자마자 처음 든 생각은 앞에서부터 문자를 추출해와서 다음 단어와 같으면 replace로 지워주고 다시 처음부터 반복하는 알고리즘을 떠올렸다. 그랬더니 반정도는 시간초과에 효율성은 전.. 2021. 5. 29.
[Programmers/Summer,Winter Coding(2019)] 멀쩡한 사각형 - Java 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 멀쩡한 사각형 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 문제 풀이 최대공약수를 먼저 구한다. x좌표 + y좌표 - 1 이란 공식을 생각한다. 전체 사각형에서의 직각삼각형을 보고 있자니 같은 비율의 최소 직각삼각형에서의 길이를 구한 후, 그 배수만큼 곱하면 되겠단 생각이 먼저 들었다. 쉽게 말해서 최대공.. 2021. 5. 28.
[프로그래머스(programmers)] (2019 KAKAO BLIND RECRUITMENT) 오픈채팅방 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 오픈채팅방 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42888 문제 풀이 split 을 사용하여 E / L / C , 유저아이디, 유저닉네임 이렇게 세개로 나눴다. hashmap 을 사용하여 유저아이디에 따른 마지막 설정한 유저닉네임을 넣어줬다. 처음 풀었을 땐 리스트를 배열로 옮김과 동시에 마지막 변경된 유저 닉네임을 고쳐주기 위하여 replace를 사용하여 고쳐줬었다. 그런데 25번 부터 32번까지 시간초과가 났다. 문장을 만들고 바뀐 닉네임을 다시 변경을 하는 로직이여서 오래걸린단 생각에 반대로 유저닉네임들부터 바꾸고 문장을 만들잔 생각을 했다. 그래서 replace를 사용하.. 2021. 5. 27.
[프로그래머스(programmers)] (Lv2) 124 나라의 숫자 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 124 나라의 숫자 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 문제 풀이 첫번째 시도 첫 시도에서는 문자열 str 에 숫자를 받아와 뒤집어 주게 풀었었다. 이렇게 하니 효율성에서 시간 초과가 나서 애초에 문자를 추가 할 때, 앞에 추가해주면 되는거였다. public static String solution(int n) { String answer = ""; String str = ""; while (n > 0) { int num = n % 3; n = n / 3; if(num == 0) { num = .. 2021. 5. 26.
[프로그래머스(programmers)] (Lv3) 여행경로 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 여행경로 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr 문제 풀이 이 코드는 유일하게 아직 미완성인 상태다. 실행시켜보면 문제 5,6개 정도 런타임에러가 난다. 모든 경우 다 맞다고 생각했는데 오류가나서 생각해보니, 시작지점이 같을 때, 도착 지점이 알파벳 순서가 빠르다고 무조건 그게 1순위가 아니였.. 2021. 5. 21.
[프로그래머스(programmers)] (Lv2) 전화번호 목록 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 전화번호 목록 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문제 링크 class Solution { public boolean solution(String[] phone_book) { boolean answer = true; top : for(int i = 0; i < phone_book.length; i++) { for(int.. 2021. 5. 20.
[프로그래머스(programmers)] (Lv1) K번째 수 알고리즘 문제 풀이 / 프로그래머스 (programmers) - K번째 수 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제 풀이 public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for(int i = 0; i < commands.length; i++){ int[] arr = Arrays.copyOfRange(array, commands[i].. 2021. 5. 19.
[프로그래머스(programmers)] (Lv1) 완주하지 못한 선수 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 완주하지 못한 선수 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 문제 풀이 public String solution(String[] participant, String[] completion) { String answer = ""; Arrays.sort(participant); Arrays.sort(complet.. 2021. 5. 19.
반응형