
1. 기존 Python 코드

해야할 기능은 다음과 같다.
- 2차원 배열로 데이터 저장하기
- 2차원 배열 정렬하기
- 2차원 배열 순회하기
2. Java 변환 시도

3. 다른 사람의 Java 코드
빠른 입력

일반 Scanner가 아니라, InputStreamReader -> Bufferedreader로 해야 빠른 것 같다.
readLine으로 한 줄 입력을 받고, 바로 parse하거나
또는 StringTokenizer로 문자열을 공백기준으로 split 하고 각각 parse한다.
Comparable을 implements하는 클래스

그냥 무지성으로 2차원 배열을 만들었었다.
[x, y] 좌표를 가지는 배열 하나, 이 배열들의 배열로 2차원으로 말이다.
Java는 oop에 충실한 언어인 만큼, [x, y]를 배열로 하지말고 class로 선언한다.
그리고 이 class에서 Comparable을 구현하면, 정렬은 간편하게 할 수 있다.
이런식으로도 가능하다

Comparable 객체 단순화

나는 cmpToKey에 가깝게 구현을 했다.
Comparator에서 자료형별로 compare하는 메소드가 존재한다.
다중 조건 정렬에 활용할 수 있는, then~ 시리즈도 존재한다.
4. 피드백
Python의 tuple 식으로 변수 초기화 하는게 습관이 되어있다. ;로 할 것.
InputStream과 StringTokenizer로 빠른 입출력 할 것.
다차원 배열이 아닌, 객체에 집중하기
Comparable를 implent하면 sort기준이 형성된다.
또는, sort에 Comparable 객체를 넘겨주면 가능하다.
이 때, comparing~과 thencomparing~을 통해 단순하게 가능하다
'프로그래밍 언어 > Java' 카테고리의 다른 글
(Python -> Java) 빠른 입력과, PQ (0) | 2023.09.06 |
---|

1. 기존 Python 코드

해야할 기능은 다음과 같다.
- 2차원 배열로 데이터 저장하기
- 2차원 배열 정렬하기
- 2차원 배열 순회하기
2. Java 변환 시도

3. 다른 사람의 Java 코드
빠른 입력

일반 Scanner가 아니라, InputStreamReader -> Bufferedreader로 해야 빠른 것 같다.
readLine으로 한 줄 입력을 받고, 바로 parse하거나
또는 StringTokenizer로 문자열을 공백기준으로 split 하고 각각 parse한다.
Comparable을 implements하는 클래스

그냥 무지성으로 2차원 배열을 만들었었다.
[x, y] 좌표를 가지는 배열 하나, 이 배열들의 배열로 2차원으로 말이다.
Java는 oop에 충실한 언어인 만큼, [x, y]를 배열로 하지말고 class로 선언한다.
그리고 이 class에서 Comparable을 구현하면, 정렬은 간편하게 할 수 있다.
이런식으로도 가능하다

Comparable 객체 단순화

나는 cmpToKey에 가깝게 구현을 했다.
Comparator에서 자료형별로 compare하는 메소드가 존재한다.
다중 조건 정렬에 활용할 수 있는, then~ 시리즈도 존재한다.
4. 피드백
Python의 tuple 식으로 변수 초기화 하는게 습관이 되어있다. ;로 할 것.
InputStream과 StringTokenizer로 빠른 입출력 할 것.
다차원 배열이 아닌, 객체에 집중하기
Comparable를 implent하면 sort기준이 형성된다.
또는, sort에 Comparable 객체를 넘겨주면 가능하다.
이 때, comparing~과 thencomparing~을 통해 단순하게 가능하다
'프로그래밍 언어 > Java' 카테고리의 다른 글
(Python -> Java) 빠른 입력과, PQ (0) | 2023.09.06 |
---|