본문 바로가기

분류 전체보기127

[백준] Silver 1. Z https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 접근 방법 우선, 재귀 메서드에 대해서 정의를 하고 넘어가야 한다. func(int n, int r, int c)는 무엇일까? 2^n * 2^n 배열에서 (r,c)를 방문하는 순서를 반환하는 함수 그러고 나서 base condition을 지정해줘야 하는데, n이 0이 될때 0을 리턴하도록 설정하였다. 1사분면 -> 그대로 리턴 2사분면 -> 1사분면의 넓이 + 재귀 3사분면 -> 1,2사.. 2024. 4. 20.
[백준] Silver 1 쿼드트리 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static StringBuilder sb = new StringBuilder(); static int [][] board; public static.. 2024. 4. 20.
[프로그래머스] Lv.2 쿼드압축 후 개수 세기 https://school.programmers.co.kr/learn/courses/30/lessons/68936 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 전체 사각형을 4개로 나눈다. 2. 해당 사각형에서 모든 값이 같은 경우 해당 값으로 합축한다. 3. 4개로 나눈 후에, 또 나눌 수 있다면 분리한다. 4. 더 이상 나눌 수 없는 경우에 0과 1의 개수를 카운팅 한다. 문제를 보면, 각 4가지 영역에 대해서 값이 같은지 다른지 체크를 해야하기 때문에 재귀가 먼저 떠올랐다. 하지만, 그 다음에 막혔던 부분이 시작점 설정을 어떻게 해줄 것인가?.. 2024. 4. 20.
JWT토큰과 RefreshToken 프로젝트에 JWT 토큰을 도입하기로 결정하면서, 먼저 구조에 대해서 알아보겠습니다. 구조 JWT 토큰은 헤더, payload, signature 세 부분으로 나뉘어져 있습니다. Header 헤더 값에는 JWT에서 사용할 해시 알고리즘에 대한 정보가 담겨있습니다. return Jwts.builder() .setClaims(claims) .setIssuedAt(now) .setExpiration(expireDate) .signWith(SignatureAlgorithm.HS512, secretKey) .compact(); 코드에서 HS512 알고리즘을 이용했기 때문에, 헤더값에서 해당 정보를 확인할 수 있었습니다. Payload 서버에서 사용자에 대한 데이터를 저장하는 부분입니다. 저는 사용자의 이메일과 id.. 2024. 4. 19.