'7월 1일' 오십세 번째 기록 [TIL]

가은·2024년 7월 1일
0

I Learned [본 캠프]

목록 보기
86/135
post-thumbnail

👩‍🏫 오늘의 출석

❓오십세 번째, 9 to 9을 해 본 소감❓

내일모레 2차 모의 면접 날인데 또 어떻게 준비하고, 대비를 해야 할지 막막하다. 분명 한 번 해봤는데 왜 여전히 감이 안 올까.. 그래도 처음 모의 면접을 준비할 때보다는 조금 덜 떨리는 것 같기도 한데... 막상 면접 날에는 어떨지 잘 모르겠다. 안 떨고, 준비한 것만 물어보셔서 기분 좋게 당당하게!!! 면접을 보고 싶다..

📑오늘 학습한 내용

🧩오늘의 알고리즘 : 둘만의 암호 🧩

문제 : 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다.

문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다.
index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다.
skip에 있는 알파벳은 제외하고 건너뜁니다.
예를 들어 s = "aukks", skip = "wbqd", index = 5일 때, a에서 5만큼 뒤에 있는 알파벳은 f지만 [b, c, d, e, f]에서 'b'와 'd'는 skip에 포함되므로 세지 않습니다. 따라서 'b', 'd'를 제외하고 'a'에서 5만큼 뒤에 있는 알파벳은 [c, e, f, g, h] 순서에 의해 'h'가 됩니다. 나머지 "ukks" 또한 위 규칙대로 바꾸면 "appy"가 되며 결과는 "happy"가 됩니다.

두 문자열 s와 skip, 그리고 자연수 index가 매개변수로 주어질 때 위 규칙대로 s를 변환한 결과를 return하도록 solution 함수를 완성해주세요.

제한사항
5 ≤ s의 길이 ≤ 50
1 ≤ skip의 길이 ≤ 10
s와 skip은 알파벳 소문자로만 이루어져 있습니다.
skip에 포함되는 알파벳은 s에 포함되지 않습니다.
1 ≤ index ≤ 20

import java.util.*;
import java.lang.*;
class Solution {
    public String solution(String s, String skip, int index) {
        String[] temp = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",
                          "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",
                          "w", "x", "y", "z"};
        List<String> alphabets = new ArrayList<>(Arrays.asList(temp));
        
        for(int i=0; i<skip.length(); i++){
            alphabets.remove(String.valueOf(skip.charAt(i)));
        } 
        
        StringBuilder sb = new StringBuilder();
        for(int i=0; i<s.length(); i++){
            int sIdx = alphabets.indexOf(String.valueOf(s.charAt(i)));
            int nextSIdx = (sIdx+index)%alphabets.size();
            sb.append(alphabets.get(nextSIdx));
        }
        return sb.substring(0);
    }
}

🧩 오늘의 SQL : 조회수가 가장 많은 중고거래 게시판의 첨부파일 조회하기 🧩

문제 : USED_GOODS_BOARD와 USED_GOODS_FILE 테이블에서 조회수가 가장 높은 중고거래 게시물에 대한 첨부파일 경로를 조회하는 SQL문을 작성해주세요. 첨부파일 경로는 FILE ID를 기준으로 내림차순 정렬해주세요. 기본적인 파일경로는 /home/grep/src/ 이며, 게시글 ID를 기준으로 디렉토리가 구분되고, 파일이름은 파일 ID, 파일 이름, 파일 확장자로 구성되도록 출력해주세요. 조회수가 가장 높은 게시물은 하나만 존재합니다.

SELECT CONCAT('/home/grep/src/',B.BOARD_ID,'/',FILE_ID,FILE_NAME,FILE_EXT) AS FILE_PATH
FROM USED_GOODS_BOARD A
INNER JOIN USED_GOODS_FILE B ON A.BOARD_ID = B.BOARD_ID
WHERE VIEWS = (SELECT MAX(VIEWS)
                FROM USED_GOODS_BOARD)
ORDER BY FILE_ID DESC;

시큐리티와 인증인가 관련 녹강을 보면서 인증인가 관련 부분 공부를 다시 하며 시간을 보냈다. 어렵다, 어려워..
AWS 강의도 들으며 내일부터는 2차 모의 면접 준비를 하며 시간을 보낼 예정이다.

0개의 댓글

관련 채용 정보