본문 바로가기

프로그래머스22

[프로그래머스(programmers)] (2020 카카오 인턴십) 수식 최대화 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 수식 최대화 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67257?language=java 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 문제 풀이 숫자, 연산자들을 배열에 각각 나누어 넣는다. 재귀함수를 활용하여 순열로 연산자 우선순위를 구한다. Math.abs() 를 사용하여 절대값 구한다. 이번 문제는 내가 여태까지 푼 문제중 가장 오래 걸렸다. 총 2일이 걸렸는데 첫날에는 코드.. 2021. 6. 4.
[프로그래머스(programmers)] (월간 코드 챌린지 시즌1) 이진 변환 반복하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 이진 변환 반복하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/70129 코딩테스트 연습 - 이진 변환 반복하기 programmers.co.kr 문제 풀이 0의 개수 = 문자열 s의 길이 - 0을 지운후 s의 길이 이 문제는 많은 걸 생각할 것도 없이 쉬운문제였다. 그냥 주어진대로 차례대로 해나가면 풀 수 있는 문제였다. 점수는 4점 받았다. public static int[] solution(String s) { int[] answer = new int[2]; while(!s.equals("1")) { answer[1] += s.length(); s = s.replaceAll("0.. 2021. 6. 4.
[프로그래머스(programmers)] (2021 Dev-Matching) 행렬 테두리 회전하기 알고리즘 문제 풀이 / 프로그래머스 (programmers) - 행렬 테두리 회전하기 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77485 코딩테스트 연습 - 행렬 테두리 회전하기 6 6 [[2,2,5,4],[3,3,6,6],[5,1,6,3]] [8, 10, 25] 3 3 [[1,1,2,2],[1,2,2,3],[2,1,3,2],[2,2,3,3]] [1, 1, 5, 3] programmers.co.kr 문제 링크 한 칸씩 이동하는 것이므로 dx, dy 배열을 만들었다. 이번 문제는 거의 2시간 정도 걸렸다. 이렇게 까지 오래 걸린지 몰랐는데 시간을 보니 훌쩍 지나있었다. 문제를 어떤식으로 풀지 생각하는건 금방 했는데 구현하는 것에서 오래걸렸다. 오.. 2021. 6. 3.
[프로그래머스(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)] (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)] (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.
반응형