TIL 12/22

드립이 블로그·2022년 12월 22일
0

TIL

목록 보기
36/80

오늘은 요새 알고리즘을 너무 손대지 못한것 같아 알고리즘 문제 풀이를 했다.
https://school.programmers.co.kr/learn/courses/30/lessons/120876
계속 못 풀고 있던 문제이다.

우선

for (int i = lines[0][0]; i <= lines[0][1];i ++){
            if (i == lines[0][1]) {
                arrA.add(i);
            }

이런 식으로 arrA에는 lines[0]의 원소를 담고, B에는 1, C에는 2의 원소를 담았다.

이후에는 retainAll()을 사용하여 교집합 시킨 후 그 개수를 세어 문제풀이를 했다.
다 푼줄 알았는데, 3개 모두 겹치는 상황에서 오답이 나왔다.
3개 모두 겹치는 상황에 대해서 무언가 처리를 하고는 싶은데, 해결 방법을 모색하지 못했다.
그래도 오답이 나오긴 했으나, 일부는 돌아가는 점에서 희망을 보았다.
뭘 해도 안고쳐지면, 처음부터 짜야 된다는 소리를 들어서 제발 방법이 있기를 기도했다...

또, 오늘 후발대 반에서 삼항연산자와 논리연산자를 사용해 간단한 문제들을 풀었다.
삼항연산자는 익숙하지 않아서, 사용 할 수 있는 상황이 와도 삼항연산자 생각은 안나고 if문을 사용하게 될 것 같다.
그리고 저번에는 배열에 애먹었는데, 오늘은 switch/case문에서 애를 먹었다.
그래도 저번에는 벙쪄서 아무것도 못하고 우왕좌왕 했다면, 오늘은 그래도 우왕좌왕 하다가, 어찌저찌 문제 풀이를 하기는 했다.
case문에서 각각 조건을 달고, 각각 반환을 해야 하는줄 알았는데,

case 1:
	System.out.println(a);
    break;
case 2:
	System.out.println(a);
    break;
case 3:
	System.out.println(a);
    break;

이 처럼 다른 케이스가 같은 값을 반환하면,

case 1:
case 2:
case 3:
	System.out.println(a);
    break;

와 같이 이어 쓰고 한번에 값을 반환 할 수 있다는 것도 처음 알았다.

알고리즘이랑 씨름해서 한게 별로 없는게 조금 아쉽다.
저 문제를 풀었으면 기분은 좋았을 것 같은데, 결국에는 풀지 못해서 아쉽다는 생각이 든다.

0개의 댓글