목록전체 글 (241)
곽로그
문제 www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net check 1. String과 StringBuilder - 처음에는 String을 사용해서 구현을 했는데 시간초과가 났다. 시간복잡도를 계산했을 때, 모든 문자열이 스택에 push 되었다가 pop되니까 O(2N)이라고 생각했다. 그래서 시간초과가 나는게 의아했다. - String을 사용했을때에 문제는 String을 이용한 연산때문에 시간초과가 난다는 거다. String에대한..
문제 www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net check 1. 배열을 이용한 풀이에서 시간 초과가 나는이유 - 배열을 이용하게 되면 수정과 삭제를 할때 배열의 최악의 경우 길이만큼의 시간이 필요하다. (맨 앞요소를 삭제하는 경우, 인덱스 1부터 N-1까지를 0부터 N-2 까지 옮겨야 한다) - 문제의 최대 입력(N)은 100,000 이고 수행 명령(M)은 최대 500,000이다. - 따라서 시간 복잡도는 NM = 50,000,000,000 500억인데 ..
문제 www.acmicpc.net/problem/10820 10820번: 문자열 분석 문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오. 각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있 www.acmicpc.net check 1. 입력의 끝 - (line =br.readLine())!=null 이면 입력의 끝이고, 따라서 종료가 되어야 한다고 생각했는데, 콘솔창에서는 계속 입력을 받았다. 구글링을 해보니 아래와 같은 stackoverflow를 찾았다. stackoverflow.com/questions/14581205/bufferedreader-readline-waits-for-input-from-console B..
문제 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net check 1. 문제이해를 잘 못했다. ABCD에 대응하는 숫자가 차례로 주어지는 줄 알았다. 즉 1 1 1 1 이라도 A B C D로 주어지는 걸로 생각 → 테스트 케이스를 잘 볼것 2. A의 아스키코드를 이용하면 꽤나 쉽게 풀 수 있다 3. Sting num = 10 이면 num.charAt(0)에 10 이 있는 걸로 생각. 코드 package october.fifthWeek; import java.io.BufferedReader; impor..
1. 인텔리제이의 모든 인코딩을 utf -8 로 바꾼다 2. vm option 변경 -Dfile.encoding=UTF-8 추가 3. 톰캣 설정 변경 VM options에 -Dfile.encoding=UTF-8 추가
문제 www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 코드 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputS..
코드 더 간결하게 1. 실수한 부분 1) 배수 *x가 아니라 +x 2) board를 업데이트 할때 직접 board에 바로 업데이트 하는 경우 인접한 경우를 모두 못지움 -> boolean배열로 update가 있는지 확인하고 update가 있으면 지우기 3) 평균보다 큰거 +1, 작은거 -1 할때 이미 지워진 수를 제외하고 해야하는데 포함시킴 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Arrays; import java.util.StringTokenizer; public class Mai..
* 해당 포스팅은 구버전 * alwaysbemoon.tistory.com/228 [백준 19236, Java] 청소년 상어 문제 www.acmicpc.net/problem/19236 19236번: 청소년 상어 첫째 줄부터 4개의 줄에 각 칸의 들어있는 물고기의 정보가 1번 행부터 순서대로 주어진다. 물고기의 정보는 두 정수 ai, bi로 이루어져 있고, ai는 alwaysbemoon.tistory.com 1. 아ㅏㅏ아아아 객체객체객체객체 .... 어렵다 객체 1) 객체를 매개변수로 넘길때는 반드시 복사 2) 객체 값을 변경시키고서 매개변수로 넘기면 다시 돌아왔을 때 초기값으로 함수수행하지 않고 변경된 값으로 수행 (이거때문에 하루 날림 ㅜㅜ) - currentShark.x 를 변경하면 안됨 for(int..