문제풀이/프로그래머스
-
[프로그래머스]셔틀버스 - JAVA문제풀이/프로그래머스 2021. 9. 4. 21:07
[프로그래머스]셔틀버스 코딩테스트 연습 - [1차] 셔틀버스 10 60 45 ["23:59","23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59", "23:59"] "18:00" programmers.co.kr 풀이 🪑 문제 자체는 어렵지 않았으나 '시간'이라는 개념이 포함되서 시간 처리를 하는 방법이 익숙하지 않아 매우 어렵게 느껴졌던 문제였다! 시간 처리에서 막혀서 해설을 참고하였다. 📝 문제를 정리해 보자! 셔틀버스는 오전 9시부터 n회 t분 간격으로 역에 도착하며 하나의 셔틀에는 최대 m명의 승객이 탈 수 있다. 9시에 도착한 셔..
-
[프로그래머스]무지의 먹방 라이브 - JAVA문제풀이/프로그래머스 2021. 9. 3. 15:23
[프로그래머스]무지의 먹방 라이브 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr 풀이 🪑 다른 분의 풀이를 참고하여 풀었던 문제였다. 처음에는 K를 기준으로 순회를 하며 풀었는데 정확성 부분에서는 통과를 했지만, 효율성 부분에서 통과하지 못했다. 풀이를 참고하고 보니, 절대 생각치 못했던 방법이었다. 아예 기준을 바꾸어서 생각해 주어야 하는 문제였다. 📝 문제를 정리해 보자! 무지가 1번부터 N번까지의 음식을 한 음식당 1초의 시간을 사용하여 먹기 시작한다. 번호가 증가하는 순서대로 먹기 시작하며 마지막 번호까지 먹고 난 후에는 다시 1번 음식으로 돌아온다. K초 후에 네트워크 장애로 인해 음식 먹방은 중단한 다음 다시 먹방을 시작할 때 몇 번 음식부터 시작해야 하는지 구한다. ..
-
[프로그래머스]거리두기 확인하기 - JAVA문제풀이/프로그래머스 2021. 7. 11. 16:26
[프로그래머스]거리두기 확인하기 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 풀이 🪑 카카오 인턴십 코딩테스트 2번 문제이다. 문제를 정리해 보자. 대기실은 5X5로 5개가 있다. 응시자 끼리 맨해튼 거리 2 이하로 앉지 말아야 한다. ..
-
[프로그래머스]표 편집 - JAVA문제풀이/프로그래머스 2021. 7. 10. 18:26
** 풀이가 추가되었습니다. 추가된 풀이가 정확한 풀이입니다. ** [프로그래머스]표 편집 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 풀이 🪑 올해 카카오 인턴십 코딩테스트 문제이다. StringBuilder때문에 한참 헤메였던 문제.. StringBuilder 사용을 잘 안해보다보니 append외엔 함수를 몰랐었다. insert라는 함수가 있다는 것을 알게 되기까지 너무 오래걸렸당..ㅜ ** 추가 ** 위의 방식으로 StringBuilder의 inser..
-
[프로그래머스]로또의 최고 순위와 최저 순위 - JAVA문제풀이/프로그래머스 2021. 7. 4. 14:55
[프로그래머스]로또의 최고 순위와 최저 순위 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 풀이 🪑 구현, 시뮬레이션 유형의 문제이다. 🔧 로또 번호가 맞는지 확인해 주기 위해 반복문을 2중으로 사용하여 확인해 주었다. 확인하면서 '0'으로 표시된 부분의 개수도 함께 count해 주었다. 🔧 최고 순위는 최대로 로또 번호를 맞췄을때 이므로 현재 맞는 로또 번호의 개수 + '0'의 개수로 계산해 주었다. 🔧 순위를 지정하는 부분은 배열을 사용하였다. 인덱스를 로또..
-
[프로그래머스]모두 0으로 만들기 - JAVA문제풀이/프로그래머스 2021. 6. 8. 11:31
[프로그래머스]모두 0으로 만들기 - JAVA https://programmers.co.kr/learn/courses/30/lessons/76503 코딩테스트 연습 - 모두 0으로 만들기 각 점에 가중치가 부여된 트리가 주어집니다. 당신은 다음 연산을 통하여, 이 트리의 모든 점들의 가중치를 0으로 만들고자 합니다. 임의의 연결된 두 점을 골라서 한쪽은 1 증가시키고, 다른 한 programmers.co.kr 풀이 많이 해메였던 문제이다. 모든 정점의 가중치를 0으로 만들려면 필요한 아이디어를 먼저 살펴보자. 모든 가중치의 합이 0이된다. (0이 되지 않으면 애초에 모든 정점의 가중치를 0으로 만들 수 없다) 한 방향으로 탐색을 진행하면서 가중치 연산을 해야 한다. (목적 노드를 하나 정해두고 나머지 리..
-
[프로그래머스]다단계 칫솔 판매 -JAVA문제풀이/프로그래머스 2021. 5. 4. 15:00
[프로그래머스]다단계 칫솔 판매 programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 풀이 이 문제는 올해 프로그래머스 Dev-Matching 문제라고 한다. 문제에서 주어진 조건대로 따라가며 풀었고 별다른 자료구조를 사용하지 않고 그리디하게 풀었다. 조건에 맞게 반복문을 돌리면서 현재 판매원이 가져갈 금액을 더해주고, 금액을 현재 금액의 10퍼센트로 바꾸어 주면서 연산을 했다. 테스트 코드는 모두 통과되지만, 걸리는 시간..
-
[프로그래머스]풍선 터트리기 - JAVA문제풀이/프로그래머스 2021. 3. 31. 15:47
[프로그래머스]풍선 터트리기 코딩테스트 연습 - 풍선 터트리기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 풀이 이 문제의 조건 중 가장 중요한 조건은 '인접한 두 풍선 중에서 번호가 더 작은 풍선을 터뜨리는 행위는 1번만 할 수 있다'라는 조건이다. 즉, 인접한 풍선의 번호가 모두 더 작다면 마지막까지 남을 수 없다는 것이다. 그럼 이러한 상황에서 마지막까지 풍선이 남기 위한 조건은 무엇일지 생각해보쟝. 임의의 풍선을 중심으로 인접한 풍선의 번호가 모두 더 작으면 안된다. 그럼 모든 원소 값을 기준으로 왼쪽, 오른쪽 풍선 번호의 최소값을 찾고 해당 값보다 현재..