목록분류 전체보기 (179)
study record
보석쇼핑 HashSet으로 보석의 개수를 구한다. gems[] 배열을 돌아가면서 큐에 넣으며, HashMap을 사용해 중복되는 보석의 개수들을 저장한다. 이때 큐.peek()과 HashMap.get()을 통해 큐의 첫번째 보석 개수가 1개를 초과하면 startPoint를 갱신해준다. hashMap의 사이즈와 HashSet의 크기가 같으면 모든 보석을 다 담은 것이므로 이때의 큐의 시작지점과 큐 사이즈를 통해 시작 진열대 번호와 끝 진열대 번호를 구해낸다. 연속된 것들을 처리해야하므로 Queue를 사용하고, 중복되지 않은 개수를 알기 위해 HashSet, 중복되는 것들을 알고 처리하기 위해 HashMap을 사용! 이해가 안되는 부분은 length를 마지막에 체크하는 부분이다. 그냥 break;하면 되는 거..
해시문제 풀이 HashMap을 이용한 문제 풀이 hash.put(key, value), hash.get(key)를 이용한 문제풀이를 진행했다. + 해시 Hash는 key와 value로 이루어진다. Hash는 전 영역에 고루 분포하여 배열보다 빠르게 값을 찾는다.Hash Code는 해시 고유 주소 값이고,해시 충돌이란 같은 키 값을 넣으면 이전 값이 사라지고 나중값만 남는 것이다. import java.util.HashMap; public class Hash { public static void main(String[] args) { String[] participant = {"marina", "josipa", "nikola", "vinko", "filipa"}; String[] completion = {..
키패드 누르기 문제 풀이 Math.abs() 라는 절댓값 얻는 메소드를 처음으로 사용해 보았다. 키패드를 좌표위의 점으로 인식하여 거리를 계산해보는 로직을 짜보았다. public class keypad { public static String solution(int[] numbers, String hand) { StringBuilder answer = new StringBuilder(); int leftPoint = 10; int rightPoint = 12; for (int i = 0; i < numbers.length; i++) { if (numbers[i] == 1 || numbers[i] == 4 || numbers[i] == 7) { answer.append("L"); leftPoint = nu..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/czd4zH/btq1habbexo/3jJa7gbTvC3jQbwxihRWB1/img.png)
*안드로이드 개발자 공식 사이트 android developers docs를 번역, 정리하는 글입니다. 이번 글: developer.android.com/guide/components/activities/tasks-and-back-stack 테스크란 특정한 일을 수행할 때 사용자와 상호작용하는 액티비티들의 모음이다. 액티비티들은 하나의 스택(백스택)에 각 액티비티가 열린 순서에 맞추어 정리되어 있다. 예를 들어, 이메일 앱은 새로운 메시지들의 하나의 목록을 보여주는 하나의 액티비티를 가질지도 모른다. 유저가 한 메시지를 선택할 때, 새 액티비티가 그 메시지를 보기위해 열린다. 이 새 액티비티는 백스택에 더해진다. 만약 유저가 뒤로가기 버튼을 누르면 새 액티비티가 끝나고 스택이 꺼진다. 앱들이 안드로이드 ..