본문 바로가기
(2024-10) 스파르타 내일배움캠프 - 백엔드/TIL

(2024-11-20) TIL

by 어뫄어뫄 2024. 11. 20.

 

 

SQL

SELECT
    MEMBER_ID,
    MEMBER_NAME,
    GENDER,
    DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') DATE_OF_BIRTH

FROM 
    MEMBER_PROFILE

WHERE
    GENDER = "W"
    AND TLNO IS NOT NULL
    AND MONTH(DATE_OF_BIRTH) =3
    
ORDER BY MEMBER_ID ASC
  • DATE_FORMAT:
    • 사용된 함수: DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d')
    • 목적: DATE_OF_BIRTH 필드의 날짜 형식을 'YYYY-MM-DD' 형태로 변환하여 결과에 포함된다.
    •  
  • MONTH:
    • 사용된 함수: MONTH(DATE_OF_BIRTH) = 3
    • 목적: DATE_OF_BIRTH 필드에서 월(month)을 추출하여 해당 월이 3(즉, 3월)인 레코드만 조회한다.

 

Java

class Solution {
    public String solution(String s, int n) {
        String result = "";
        for (int i = 0; i < s.length(); i++){
            if (s.charAt(i) == ' '){
                char c = s.charAt(i);
                result += c;
                continue;
            }

            char c = (char) (s.charAt(i) + n);

            if (c - n <= 90 && c > 90){
                c = (char) (c - (90 - 64));
            }

            if (c >122){
                c = (char) (c - (122 - 96));
            }

            result += c;
        }

        return result;
    }
}

시저 암호를 구현한 함수이다. 깔끔하게 되지는 않았다.

 

class Caesar {
    String caesar(String s, int n) {
        String result = "";
    n = n % 26;
    for (int i = 0; i < s.length(); i++) {
      char ch = s.charAt(i);
      if (Character.isLowerCase(ch)) {
        ch = (char) ((ch - 'a' + n) % 26 + 'a');
      } else if (Character.isUpperCase(ch)) {
        ch = (char) ((ch - 'A' + n) % 26 + 'A');
      }
      result += ch;
    }
        return result;
    }

    public static void main(String[] args) {
        Caesar c = new Caesar();
        System.out.println("s는 'a B z', n은 4인 경우: " + c.caesar("a B z", 4));
    }
}

다른 분의 코드를 보고 많이 배웠다.