230623 TIL #119 팰린드롬 / 직사각형 좌표 / SQL 정렬 문제

김춘복·2023년 6월 22일
0

TIL : Today I Learned

목록 보기
119/571

230623 Today I Learned

오늘은 모 회사 코테 사전 체험을 하다가 만난 문제를 봤는데 다 풀어보고 싶어서 이를 정리해보려한다.


Palindrome 문제

n이상 m이하 정수에서 거꾸로 뒤집어도 같은 수가 되는 팰린드롬을 만족하는 숫자의 개수를 출력하라

  • for문으로 n~m사이의 정수 i가 팰린드롬이 맞는지 검증한다

  • int를 String.valuOf(int a)을 써서 문자열로 변환 시키고 while 문안에서 int left와 right로 char 문자를 좌우 비교시킨다.

  public int solution(int n, int m) {
    int answer = 0;
    for (int i = n; i <= m; i++) {
      if (isPalindrome(i)) {
        answer++;
      }
    }
    return answer;
  }

  private boolean isPalindrome(int i) {
    String s = String.valueOf(i);
    int left = 0;
    int right = s.length() - 1;
    while (left < right) {
      if (s.charAt(left) != s.charAt(right)) {
        return false;
      }
      left++;
      right--;
    }
    return true;
  }

직사각형 남은 좌표 문제

직사각형의 세 좌표가 주어질 때, 남은 마지막 좌표를 구하라

  • x값만 볼 때, 세 x값중 2번 중복되지 않는 값이 답이다. y값도 마찬가지다. 따라서 ^(XOR)연산으로 중복값만 날려주고 남는 값을 답으로 하면 된다.
  public int[] solution(int[][] points){
    int[] answer = new int[2];

    answer[0] = points[0][0] ^ points[1][0] ^ points[2][0];
    answer[1] = points[0][1] ^ points[1][1] ^ points[2][1];

    return answer;
  }

SQL 문제

cars 테이블이 주어질 때 model 컬럼을 알파벳순으로 조회하는 SQL문을 작성하라

  • 간단하게 model 컬럼을 ASC 오름차순 ORDER BY로 정렬하면 된다.
SELECT model
FROM cars
ORDER BY model ASC;
profile
Backend Dev / Data Engineer

0개의 댓글