728x90
반응형
string에 이어 배열 관련 문제까지 모두 끝마쳤다. 25%라고 하니 벌써 1/4를 푼 것이다.
뿌듯하기도 하면서 아직 기초를 다지는 시간인데 아직도 모르는 것이 있다고 생각하니 더 자극받고 더 잘하고 싶은 마음이 생겼다.
이번 알고리즘 풀이의 목적은 온전한 정리를 진행하며 내가 푼 문제들을 기록해나가며 완강하기인데, 지금까지는 효과가 매우 좋은 것 같다. 블로그 알고리즘 포스팅 글을 보며 내가 어떤 사소한(하지만 중요한) 것들을 배워나갔고, 적용은 잘 시키고 있는지 알 수 있었던 좋은 기회가 된 것 같다. 이번 주는 빠르게 3주 차 강의를 완강하는 것을 목표로 나아가고자 한다. 느리지만 정확하고, 제대로 나아가는 내가 될 것이다.
배운 것 정리
1. if, else if, else 에 대한 생각
. 사실 else if에 대해 그렇게 많은 생각을 두지 않았다. if가 아니면 else이지 않는가? 이번 강의를 들으면서 else if라는 또 다른 가능성에 대해 고려할 수 있다는 생각이 들었다.
2. 피보나치 수열
private static void solution(int i) {
int [] arr = new int[i+1];
for (int j = 1; j <= i; j++) {
if(j==1 || j==2){
arr[j] = j;
} else{
arr[j] = arr[j-1]+arr[j-2];
}
}
// 1 2 3 5 8 13 21 34 55
for (int j = 1; j < i; j++) {
System.out.print(arr[j]+" ");
}
}
3. int [] 배열의 초기화는 0으로 되어있다.
4. 에라토스테네스의 체
. 주로 특정 숫자까지의 소수의 개수를 구하고자 할 때 사용하는 듯하다.
private static void solution(int i) {
int [] arr = new int[i+1];
int answer = 0;
for (int j = 2; j <= i; j++) {
if(arr[j] == 0){
answer++;
for (int k = j; k <= i; k+=j) {
arr[k] = 1;
}
}
}
System.out.println("answer = " + answer);
}
5. 숫자 뒤집기 알고리즘 2가지
. stringbuilder 사용
private static void solution(int i) {
StringBuilder stringBuilder = new StringBuilder(String.valueOf(i));
String answer = stringBuilder.reverse().toString();
System.out.println("answer = " + Integer.parseInt(answer));
}
. %, / 사용
private static void solution(int i) {
int answer = 0;
while (i>0){
answer = (answer*10) + (i%10);
i = i/10;
}
System.out.println(answer);
}
6. 이중, 3중, 4중 for문에 대한 생각
. 기준점이 몇개냐에 따라 달라지는 것 같다. 3중포문 이상이어도 무서워하지 말자.
728x90
반응형
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 최대 매출 with Java (0) | 2022.03.10 |
---|---|
[알고리즘] 공통원소 구하기 with Java (0) | 2022.03.10 |
[알고리즘] 멘토링 with Java, 4차원 배열에 대한 생각 (0) | 2022.03.08 |
[알고리즘] 임시반장 정하기 with Java, 3차원 배열에 대한 생각 (0) | 2022.03.07 |
[알고리즘] 봉우리 with Java (0) | 2022.03.06 |