본문 바로가기

분류 전체보기39

프로그래머스 - 문자열 압축 [Java] https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 풀이이 문제의 핵심은 문자열을 정해진 길이만큼 잘라 내는 것이다. 자바에서는 이것을 substring() 메서드를 사용하여 쉽게 구현 가능하다. 압축했을 때 가장 짧은 문자열의 길이를 구해야 하는데, 이는 모든 길이에 대하여 압축을 시도한 후 그 중 가장 짧은 길이를 선택하면 된다. 이를 바탕으로 다음과 같이 작성할 수 있다. 문제 풀이 흐름1부터 입력 문자열 s의 길이만큼 자를 문자열의 길이를 설정하며 반복설정된 길이만큼 문자열을 잘라 낸.. 2025. 3. 26.
[Next js 15] Oauth 구현 (Naver) Typescript로 네이버 로그인 구현하기기본 세팅Callback URL을 다음과 같은 형식으로 지정해줘야 한다. 또한, .env 파일을 루트 폴더에 생성하여 NAVER_CLIENT_ID, NAVER_CLIENT_SECRET을 지정해줘야 한다. 그리고next-auth.d.ts 파일을 만들어 타입을 관리해줘야 하는데 다음과 같다.// Types/next-auth.d.tsimport NextAuth from "next-auth"import { JWT } from "next-auth/jwt"declare module "next-auth" { /** * Returned by `useSession`, `getSession` and received as a prop on the `SessionProvider.. 2025. 3. 26.
프로그래머스 - 이상한 문자 만들기 [Java] https://school.programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 풀이 흐름문자열의 모든 문자에 대해 반복문자가 공백 문자일 경우그대로 이어 붙이기다음 등장하는 알파벳은 대문자공백 문자가 아닌 경우대 소문자 변환하여 이어 붙이기다음 등장하는 알파벳의 대 소문자는 현재 변환하는 문자와 반대구성한 문자열 반환코드 작성문자열의 각 문자가 공백인지 알파벳인지 구분하고 각 단어의 몇 번째 문자인지에 따라 대문자 혹은 소문자로 변환해야 한다. 1. 문자열의 모든 문자에 대해 반복다음과 같이 문자열 구성을 위한 St.. 2025. 3. 21.
Testing (4) Gray Box Testing화이트 박스 테스팅과 블랙 박스 테스팅 중간에 있는 테스팅이다.통합 테스팅이 주로 예시가 될 수 있다.예시전자상거래 웹사이트에서 사용자가 상품을 장바구니에 추가하고 결제하는 기능 시험3번 테스트는 블랙 박스 테스팅이다.4번 테스트는 화이트 박스 테스팅이다.5번 테스트는 내부 정보가 필요할 경우 화이트 박스, 필요 없을 경우 블랙 박스 테스팅이다.전체 테스트 자체는 블랙 박스 테스팅이지만, 테스팅 단계를 검증하기 위해 그레이 박스 테스팅을 사용한다.굳이 그레이 박스 테스팅을 사용하는 이유는 결함을 해결해야 하고 그러기 위해 결함 위치를 특정해야 하기 때문이다.블랙 박스는 요구사항을 가지고 하는 테스팅이다.그레이 박스는 크게 요구사항을 가지지만 필요에 따라 로직을 참조한다. (주.. 2025. 3. 20.
네이버 색인 요청 자동화하기 네이버 색인 요청 자동화 하기오늘은 네이버 색인 요청을 자동화 하는 코드를 짜보려고 한다.  준비물1. Burp suite 툴https://portswigger.net/burp/releases/professional-community-2023-3-5?requestededition=community&requestedplatform= Professional / Community 2023.3.5This release upgrades Burp's built-in browser to Chromium 112.0.5615.137/138 for Windows, 112.0.5615.165 for Linux, and 112.0.5615.137 for Mac.portswigger.net 2. 네이버 서치 어드바이저에 등록된.. 2025. 3. 19.
effective Typescript (7) 매핑된 타입을 사용하여 값을 동기화하기산점도를 그리기 위한 UI 컴포넌트를 작성한다고 해보자. 여기에는 디스플레이와 동작을 제어하기 위한 몇 가지 다른 타입의 속성이 포함된다.interface ScatterProps {// The dataxs: number[];ys: number[];// DisplayxRange: [number, number];yRange: [number, number];color: string;// EventsonClick: (x: number, y: number, index: number) => void;}불필요한 작업을 피하기 위해 필요할 때에만 차트를 다시 그릴 수 있다.데이터나 디스플레이 속성이 변경되면 다시 그려야 하지만, 이벤트 핸들러가 변경되면 다시 그릴 필요가 없다.이런.. 2025. 3. 19.