예를들어 55-50+40 이라는 문자열이 있다고 했을 때, nums라는 int형 배열에는 숫자만 넣고 ops라는 char형 배열에는 연산자만 넣고싶다면 이런 방법을 사용할 수 있다. String s = "55-50+40"; String numStr = s.replaceAll("[^0-9]", " "); String opStr = s.replaceAll("[0-9]", " "); StringTokenizer st = new StringTokenizer(numStr); int[] nums = new int[st.countTokens()]; for (int i = 0; i < nums.length; i++) { nums[i] = Integer.parseInt(st.nextToken()); } st = new ..
문제 - (https://www.acmicpc.net/problem/13458) 솔직히 쉬운 문제였다. 시험장별로 총 감독관은 무조건 1명이므로 A[i]에 총 감독관이 감시할 수 있는 응시자 수(b)를 뺀다. - bSub이라고 하겠다. 따라서, bSub = A[i] - b; 그렇다면, bSub만큼의 응시자를 부감독관이 맡으면 된다. 부감독관은 여러명일 수 있으므로 (0명도 가능) 부감독관이 감시할 수 있는 응시자 수(c)를 bSub에 나눠줌으로써 부감독관이 감시할 수 있는 인원을 구한다. 하지만 여기서 주의할 것은 나눠준 나머지 응시자 수 또한 부감독관이 감시해야 한다는 것이다. 물론, 나머지 응시자가 없다면 신경쓰지 않아도 된다. 따라서, answer += bSub / c; if( bSub % c !=..
HashSet이 객체들을 검사할 땐, 내부적으로 hashCode()와 equlas()를 실행해본다. 따라서 HashSet이 커스텀 클래스를 담을 경우, 중복을 제거할 땐 hashCode()와 equlas()를 오버라이딩하여 재정의해주어야 한다. class Dot { int x; int y; Dot(int x, int y) { this.x = x; this.y = y; } @Override public boolean equals(Object obj) { if (this.getClass() != obj.getClass()) return false; return (((Dot) obj).x == this.x) && (((Dot) obj).y == this.y); } @Override public int hash..
문제 - (https://www.acmicpc.net/problem/15685) 3시간이나 걸렸다ㅠ 다른 사람들은 "방향"에 초점을 맞춰서 "배열"로 문제를 풀어나갔지만 나는 "좌표"로 풀었다.. 결과는... 시간도 너무 오래걸렸고 문제 자체도 배열로 풀어나가길 바란듯 하다. 왜냐면, 이 조건 때문이다. 0: x좌표가 증가하는 방향 (→) 1: y좌표가 감소하는 방향 (↑) 2: x좌표가 감소하는 방향 (←) 3: y좌표가 증가하는 방향 (↓) 조건에 따르면 y좌표가 감소하는 방향이 ↑인데, 좌표평면은 위로 갈수록 y값이 커진다. 하지만 배열을 이용해서 풀면, 배열은 위로 갈수록 y값(인덱스)이 작아진다. 이런 이유로 문제 출제자도 배열로 풀길 바란 것 같다. 출제의도 완벽히 무시하고 더 어려운 길을 택..
- Total
- Today
- Yesterday
- header
- Access-Control-Allow-Origin
- 브라우저 요청
- 재귀
- dfs
- Greedy
- 구명보트
- java
- 그리디
- 백준
- 인구이동
- 코테
- 완전탐색
- 시뮬레이션
- 자바
- 우선순위큐
- 16234
- 큰 수 만들기
- 톱니바퀴
- 배열순회
- 코딩테스트
- 프로그래머스
- 아기상어
- 14891
- 코딩테스트 연습
- 드래곤 커브
- 사다리 조작
- withCredentials
- BOJ
- 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |