2020 카카오 인턴십 - 보석쇼핑 java
프로그래머스 2022. 2. 10. 13:23

코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 1. 보석의 가짓수를 찾기 모든 종류의 보석을 포함하는 구간을 찾아야 한다. 따라서 일단 보석 배열을 순차탐색해서, 보석이 총 몇 가지 종류로 이루어져 있는지를 찾아야 한다. 간단히 HashMap 을 이용해서 보석의 총 가지수를 구했다. int jeweleryCount = 0; public void getJeweleryCount(String[] gems) { HashMap hashMap = new HashMap(); for (String gem : gems) { if (!hashMap.containsKey(ge..

2021 카카오 채용연계형 인턴십 - 표 편집 java
프로그래머스 2022. 2. 9. 13:45

코딩테스트 연습 - 표 편집 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 주요 연산 주요 연산은 총 4가지로 다음과 같다 커서 위로 이동 커서 아래로 이동 현재 커서 삭제 삭제된 커서 복구 처음 테이블이 다음과 같을 때, 모든 연산을 수행한 뒤 마지막에 존재하는 컬럼은 O, 존재하지 않는 컬럼은 X 로 표시해야 한다. 연결 리스트로 구현하기 행이 삭제되면, 이전 행과 다음 행이 연결되어야 한다. 이것을 만약 ArrayList 나 배열로 구현한다면, 삭제 후 데이터를 한 칸씩 앞으로 이..

자료구조 - 힙 (Heap) java
알고리즘 2022. 2. 4. 11:37

우선순위 큐란? 자료가 들어오는 순서와 상관없이, 우선순위가 제일 높은 데이터가 먼저 빠져나간다 우선순위 큐의 활용사례 네트워크 트래픽 제어 운영 체제에서 프로세스 스케줄링 시뮬레이션 자료구조 삭제되는 데이터 스택(Stack) 가장 최근에 들어온 데이터 (Last In First Out) 큐(Queue) 가장 먼저 들어온 데이터 (First In First Out) 우선순위 큐(Queue) 우선순위가 제일 높은 데이터 힙이란? 완전 이진 트리로, 우선순위 큐를 위하여 만들어진 자료구조이다. 우선순위가 제일 높은 데이터를 바로 찾아내도록 만들어진 자료구조다 힙은 일종의 반정렬 상태를 유지한다. 우선순위가 제일 높은 값이 루트 노드에 존재한다. 부모 노드가 자식 노드보다 우선순위가 높지만, 완전히 정렬된 상..

백준 11578번 - 팀원 모집 java
백준문제풀이 2022. 1. 17. 22:05

문제 2015년 11월 28일은 기다리고 기다리던 제1회 IUPC가 열리는 날이다. IUPC는 Inha University Programming Contest의 약자로 인하대학교 IT공대 학부생이면 누구나 참여할 수 있는 프로그래밍 경시대회이다. IUPC의 총상금은 무려 110억 원이나 되며 고급스러운 점심과 많은 다과가 제공되어 참가자들이 대회에 집중할 수 있도록 최적의 환경을 제공한다. 그중 참가자들을 진정 열광시키는 것은 수많은 팀에게 추첨을 통해 문화상품권을 나눠준다는 점이다. 컴퓨터정보공학과에 재학 중인 강호는 대회에 참가하기 위해 팀원을 모집하려고 한다. IUPC가 여타 많은 대회와 다른 점이 있다면 문제의 수가 많고 팀원의 수가 무제한이라는 것이다. IUPC에서 모든 문제를 다 풀어 우승한 ..

백준 20055번 - 컨베이어 벨트 위의 로봇 java
백준문제풀이 2022. 1. 16. 11:39

문제 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부터 2N까지의 번호가 매겨져 있다. 벨트가 한 칸 회전하면 1번부터 2N-1번까지의 칸은 다음 번호의 칸이 있는 위치로 이동하고, 2N번 칸은 1번 칸의 위치로 이동한다. i번 칸의 내구도는 Ai이다. 위의 그림에서 1번 칸이 있는 위치를 "올리는 위치", N번 칸이 있는 위치를 "내리는 위치"라고 한다. 컨베이어 벨트에 박스 모양 로봇을 하나씩 올리려고 한다. 로봇은 올리는 위치에만 올릴 수 있다. 언제든지 로봇이 내리는 위치에 도달하면 그 즉시 내린다. 로봇은 컨베이어 벨트 위에서 스스로 이동할 수 있..

백준 2613번 - 숫자구슬 java
백준문제풀이 2022. 1. 15. 22:44

문제 N개의 숫자 구슬이 과 같이 막대에 꿰어져 일자로 놓여 있다. 이들 구슬은 막대에서 빼낼 수 없고, 바꿀 수 없다. 이 숫자 구슬을 M개의 그룹으로 나누었을 때 각각의 그룹의 합 중 최댓값이 최소가 되도록 하려 하다. 예를 들어 세 그룹으로 나눈다고 할 때 와 같이 그룹을 나누면 그룹의 합은 각각 11, 15, 18이 되어 그 중 최댓값은 18이 되고, 과 같이 나누면 각 그룹의 합은 각각 17, 12, 15가 되어 그 중 최댓값은 17이 된다. 숫자 구슬의 배열이 위와 같을 때는 그룹의 합 중 최댓값이 17보다 작게 만들 수는 없다. 그룹에 포함된 숫자 구슬의 개수는 0보다 커야 한다. 각 그룹의 합 중 최댓값이 최소가 되도록 M개의 그룹으로 나누었을 때, 그 최댓값과 각 그룹을 구성하는 구슬의 ..

백준 10711번 - 모래성 java
카테고리 없음 2022. 1. 14. 19:48

문제 명우와 친구들은 여름방학을 맞이하여 해변가에 놀러가기로 했다. 이번에 여행을 떠난 해수욕장의 이름은 ALPS(Awsome Land & Poor Sea)이다. 해변가에서 수영복을 입은 미녀들에게 관심이 많은 원철이와는 달리 명우는 해변가의 모래에 더 관심이 많다. 해변가의 모래는 무한한 것들을 만들 수 있는 가능성을 내포하고 있다. 또한 이렇게 만들어진 작품이 파도에 의해 사라지는 모습은, 마치 자신이 가장 빛날 수 있는 시간을 알고 스스로 아름답게 산화하려는 것으로 보인다. 이런 완벽에 가까운 물품인 모래를 두고서 해수욕이나 헤엄을 치는 것은 인생을 낭비하는 것과 같다고 생각한다. 하지만 아무도 명우의 말에 공감해주지 못했고, 결국 명우는 혼자서 모래성을 만들었다. 다른 친구들이 혼신의 힘을 다해 ..

백준 1826번 - 연료 채우기 Java
백준문제풀이 2022. 1. 13. 19:25

문제 성경이는 트럭을 정글 속에서 운전하다가 트럭의 연료탱크에 갑자기 구멍이 나서 1km를 가는데 1L의 연료가 새 나가게 되었다. 이것을 고치기 위해서는 가장 가까운 마을에 가야 한다. 그런데 그냥 가다가는 중간에 연료가 다 빠질 수가 있다. 다행스럽게도 정글 곳곳에 연료를 채울 수 있는 주유소가 N개 있다. 그런데 정글 속에서 중간에 차를 멈추는 행위는 매우 위험한 행위이므로 주유소에서 멈추는 횟수를 최소화 하려 한다. 그리고 다행이도 성경이의 트럭은 매우 좋아서 연료 탱크에는 연료의 제한이 없이 많이 충분히 많이 넣을 수 있다고 한다. 각각의 주유소의 위치와, 각 주유소에서 얻을 수 있는 연료의 양이 주어져 있을 때, 주유소에서 멈추는 횟수를 구하는 프로그램을 작성하시오. 정글은 일직선이고, 성경이..