본문 바로가기
반응형

분류 전체보기91

[프로그래머스] 코딩테스트 고득점 Kit > 주식가격 # 문제 # 문제 접근 가격이 떨어지지 않았다는 것은 배열의 한 시점을 기준으로 뒤로 갈 수록 현재 시점보다 가격이 낮은 순간이 있는지를 판단하면 된다. 주의할 부분은, 3초 시점의 3은 바로 다음의 4초에 2로 떨어졌으나, 1초 간 가격이 유지 된 것으로 판단하여 떨어지지 않은 것으로 본다는 것이다. 바로 다음 시점에 가격이 떨어져도 1초간 가격은 유지가 된 것이다. # 문제 풀이 1. 배열의 처음부터 끝까지 루프를 돌린다. (i) 2. 현재 배열의 위치부터 다음 위치까지 루프를 돌린다. (j) 3. 인덱스 j가 증가하면 현재 시점의 카운트를 1 늘린다.(위에서 주의했듯이 바로 다음 순간에 떨어져도 1초간 가격이 유지 된 것이기 때문.) 4. 배열의 i 인덱스의 값이 배열의 j 인덱스 값보다 크면 시점.. 2020. 3. 18.
[프로그래머스] 코딩테스트 고득점 Kit > 탑 # 문제 # 문제 접근 신호가 오른쪽에서 왼쪽으로 간다는 조건만 이해하면 어렵지 않은 문제였다. 자신의 위치를 기준으로 왼쪽방향으로 진행하면서 자신보다 높은 가장 먼저 만나는 탑을 기록하면 된다. 스택/큐 로 분류되어 있어서 스택으로 풀까 하였지만, 굳이 사용 할 필요가 없었다. # 문제 풀이 1. 탑 배열의 가장 뒤부터 순회를 시작한다. 2. 현재 탑의 위치를 기준으로 다시 배열을 뒤에서 앞으로 순회한다. 3. 현재 탑보다 높이가 높은 탑을 만나면 기록하고 다음 탑에서 반복한다. # 코드 작성 def solution(heights): # 배열의 길이, 계산을 용이하게 하기 위해. LEN = len(heights) # 정답 배열, 신호를 받지 못한 탑의 값인 0으로 미리 초기화한다. answer = [0.. 2020. 3. 18.
[Android] Kotlin + MVVM + AAC 로 Todo 앱 만들기 - 5 이번 포스팅은 RecyclerView에 이벤트 처리를 구현 할 것이다. 아이템을 클릭하면 Todo 아이템을 추가할 때 띄웠던 다이얼로그를 통해 Todo 아이템을 수정 할 것이다. 그리고 롱클릭을 통해 Todo 아이템을 삭제 해 보겠다. - Interface 구현 class TodoListAdapter: RecyclerView.Adapter() { ... interface OnTodoItemClickListener { fun onTodoItemClick(position: Int) fun onTodoItemLongClick(position: Int) } var listener: OnTodoItemClickListener? = null ... } 우선 어댑터의 상단에 위와 같은 코드를 작성한다. 아이템 클릭 .. 2020. 3. 8.
[프로그래머스] 코딩테스트 고득점 Kit > H-Index # 문제 # 문제 접근 H-Index라는 개념이 굉장히 헷갈리는 문제다. 우선 N은 논문의 수인 citations의 길이다. 즉, 예제에서는 5다. h를 1 부터 증가시켜 가며 천천히 생각 해 보자. 1. h = 1 인 경우, 5편 중 1번 이상 인용된 논문은 [1, 3, 5, 6]로 4개이다. 그리고 나머지 논문 [0]은 1번 이하 인용되었다. 2. h = 2 인 경우, 5편 중 2번 이상 인용된 논문은 [3, 5, 6] 로 3개이다. 그리고 나머지 논문 [0, 1] 은 2번 이하 인용되었다. 3. h = 3인 경우, 5편 중 3번 이상 인용된 논문은 [3, 5, 6] 로 3개이다. 그리고 나머니 논문 [0, 1]은 3번 이하 인용되었다. 위에서 3번 케이스의 경우, N편(5) 중 h번(3) 이상 인용.. 2020. 3. 7.