class Solution {
public int[] solution(String[] keyinput, int[] board) {
int x = 0;
int y = 0;
for(int i=0; i<keyinput.length; i++){
if(keyinput[i].equals("left")) x -=1;
if(keyinput[i].equals("right")) x +=1;
if(keyinput[i].equals("up")) y +=1;
if(keyinput[i].equals("down")) y -=1;
if(x>board[0]/2) x = board[0]/2;
if(x<board[0]/2*(-1)) x = board[0]/2*(-1);
if(y>board[1]/2) y = board[1]/2;
if(y<board[1]/2*(-1)) y = board[1]/2*(-1);
}
return new int[]{x,y};
}
}
import java.util.*;
class Solution {
public String solution(String[] id_pw, String[][] db) {
Map<String, String> map = new HashMap<>();
for(int i=0; i<db.length; i++){
map.put(db[i][0], db[i][1]);
}
if(!map.containsKey(id_pw[0])) return "fail";
else if(!(map.get(id_pw[0])).equals(id_pw[1])) return "wrong pw";
return "login";
}
}
액세스 토큰(Access Token)
리프레시 토큰(Refresh Token)
구조
절차
- 클라이언트 요청
-> 서버 확인. 토큰 생성(access, refresh)
-> 서버가 토큰과 함께 응답 보냄
-> 클라이언트가 토큰 저장
-> 클라이언트가 토큰과 함께 새로운 요청 전송
-> 토큰 확인 후 응답(토큰 안 맞으면 에러)
장점
의존 라이브러리
Key key = Keys.hmacShaKeyFor(keyBytes);
<느낀 점>
오늘은 토큰에 대해서 공부했다.
흐름은 알겠는데, 아직 이론만 공부한 거라서 구현은 감이 안 온다.
컨텐츠 중간에 언급된 Sticky session 등에 대해 궁금했는데,
세션 관련 인프런 무료강의 20분짜리가 있어서 봤더니 도움이 되었다.
어제오늘은 학습량이 좀 널널했는데, 방금 블로깅 하면서 내일 공부할 컨텐츠 잠깐 봤더니 양이 엄청나다. 이걸 또 하루에 후려넣다니,,^^
양 조절 실패와 급발진 그 사이 어딘가..ㅎ
미리 조금 보다가 자야겠다.
알고리즘은 조금씩 해나가고 있다.
많이 풀어보고 고민해보는 게 최선인 것 같다.