코드 그라데이션
자바 퀴즈 아이디어 정리 (2) 본문
1.
메서드 기준
계산기를 만든다고 가정하면
얘는 숫자를 자기가 항상 정해놓는다면 계산기로서의 존재가치 자체가 없는 거지.
그럼 숫자는 외부에서 입력받아 가져오는 게 더 적합하겠지
등...
29:34
2.
- 모두 다른 위치에 있게 하려면 => 횟수차감(i--)
- 위, 아래, 왼쪽, 오른쪽 이동할 때 => 이걸 아예 배열로 바꿀 수도 있을 듯
int[ ] wantrow = {-1, 0, 1, 0};
int[ ] wantcol = {0, 1, 0, -1);
cf. 오른쪽 위 같은 것도 한방에 표현 가능 row -1 col 1
새로운 위치
int newRow = row + wantrow;
int newCol = col + wantcol;
- index이동하면서 범위가 터지는지는 확인해줘야 함.
3.
- 함수는 최대한 크기가 작을수록 좋다.
4.
- 원래 넓이 구하고 주는 게 인지상정인데
- 이건 억지로 함수 형태를 설정해놨으니까
5.
- 문자열 더하기는 아스키 코드 활용
6.
- int[ ] a 배열은
원소를 출력하려면 System.out.println(a[2]); 하면 되지만
String은 내부적으로 문자열 배열이긴 하지만 대외적으로는 배열이라기보다는 클래스로 인식하는게 맞다.
String s;
- 그래서 문자를 출력하려고 하면 System.out.println(s.charAt(2)); 이렇게 해야 한다.
String s = "Hello World";
if(홀수) {
i = 0;
} else {
i = 1;
}
for(; i<s.length;i+=2) {
}
7.
- 함수화 할 때는 에러나는 부분을 하나씩 지우고 해결해나가면서.
8.
- 객체를 넘기느냐 primitive 타입을 넘기느냐에 따라 결과가 달라질 수 있다.
9.
- 결과 출력 부분 주의
- 사용자가 캐스팅 전에는 사용자 위치 부분이 없지만, 캐스팅 후에는 추가된다.
- 그래서 beforeCasting과 afterCasting 함수를 따로 두었다.
10.
- 클래스는 연관있는 변수와 함수를 가지고 있다.
- 연필은 색깔이란 변수를 가지고 있다.
- 클래스를 만든다는 건 데이터 타입을 만드는 것과 같다.
=> 어떤 용도인지 나타낼 수 있다.
- 변수의 목적 데이터를 저장
11.
- 각각 클래스 분리
12.
- 하나를 빼놓고 서로 왔다갔다 이동을 시키는 idea
13.
- 주사위가 동시에 증가. 그러니까 번갈아가며 하는 게 반복이 된다.
14.
- 반복횟수를 어떻게 정할지 고민
- break의 위치 유
15.
- 카카오 기출에 있습니다.
- 나머지 이용하면, 2차원 배열상에서 하나의 row와 col을 모두 알 수 있게 된다는 idea
- Map을 활용하면 1일때 abc, 2일때 def 이런 식으로 매핑시킬 수 있다.
- 배열의 인덱스를 가지고 활용하는게 훨씬 수월한 방법.
16.
- 클래스 문제는 아님.
17.
- null 이용하기 위해서 Fish 클래스는 그냥 비어있었음.
18.
- 각각 배열로 만들어서 객체를 채워넣기
- 인덱스 개념을 사용해서 0~4면 삼성 5~9면 LG 이런 식으로 구분했음.
'Java > Mega' 카테고리의 다른 글
<보충>Day32,33 통신 / 알아두면 좋은 것들 (0) | 2023.05.10 |
---|---|
자바 퀴즈 아이디어 정리 (3) (0) | 2023.05.07 |
자바 퀴즈 아이디어 정리 (1) (0) | 2023.05.07 |
Day33-34. 자바 GUI (0) | 2023.05.07 |
Day32. 네트워크 (3) 예제 (0) | 2023.05.06 |