본문 바로가기

분류 전체보기

(336)
백준 11062번 카드 게임 C++ https://www.acmicpc.net/problem/11062 11062번: 카드 게임 근우와 명우는 재미있는 카드 게임을 하고 있다. N개의 카드가 일렬로 놓여 있다. 각 카드에는 점수가 적혀있다. 근우부터 시작하여 번갈아가면서 턴이 진행되는데 한 턴에는 가장 왼쪽에 있는 www.acmicpc.net 누가봐도 나 DP에요! 소리치고 있는 문제이다. 다만 아이디어를 떠올리기는 쉽지 않았다. 1 2 3 4번 인덱스가 있을 때 난 dp[1] dp[4] 를 만들어서 왼쪽을 선택시, 오른쪽을 선택시를 고려해서 고르는 것을 택했다. 그러나 이것은 정답이 아니었고.. 2차원 배열을 사용하는 것이 정답이었다. dp[x][y] 라고 할 때 x번~y번이 인덱스에서 최댓값을 가지고 있으면 된다. 그리고 문제 조건에서..
SQL - 날짜 출력 방법 Specifier Description Example 1 %Y 연도(year): 4자리 표현 2021 2 %y 연도(year): 뒤에서 2자리 표현 21 3 %a 요일(weekday): 이름 줄임표현 Mon, Tue, Wed, ... 4 %W 요일(weekday): 이름 Sunday, ..., Saturday 5 %w 요일(weekday): 숫자 활용 0 = Sunday, ... , 6 = Saturday 6 %b 월(month): 이름 줄임표현 Jan, Feb, Mar, ... 7 %M 월(month): 이름 January, February, ..., December 8 %c 월(month): 숫자 표기(자릿수 고정 X) 0, 1, 2, ..., 12 9 %m 월(month): 숫자 표기(자릿수 2개로..
Spring Boot - 로그를 남기는 법 : @SLF4J 로깅에 대한 추상 레이어를 제공하는 인터페이스의 모음. 1. Log Level Trace Debug Info Warn Error Trace O O O O O Debug X O O O O Info X X O O O Warn X X X O O Error X X X X O Trace : 디버그보다 좀 더 상세한 정보를 나타냄 Debug : 프로그램을 디버깅하기 위한 정보 지정 Info : 상태변경과 같은 정보성 메세지를 나타냄 Warn : 처리가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메세지를 나타냄 Error : 요청을 처리하는 중 문제가 발생한 경우 import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Slf4jSam..
프로그래머스 - 재구매가 일어난 상품과 회원 리스트 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그룹화를 사용해야하는 문제이다. 요구사항은 유저와 상품 아이디를 함께 세는 것이다. 그러므로 두 컬럼을 그룹화하고 그 갯수를 새어 2개 이상이면 select 하도록 쿼리를 짠다. SQL문제를 풀 땐 어떤 컬럼끼리 연관이 있는지, 그 컬럼을 어떤 조건으로 빼내올지를 잘 생각해야한다. 이 문제를 풀기 위해서는 그룹화를 생각하고 그룹화한 컬럼들을 having 절로 어떻게 데려올지를 생각해내는 문제였다..
SSR과 CSR CSR : 클라이언트 사이드 렌더링 웹사이트에 접속했을 때, 웹 사이트를 보여주기 위한 과정을 렌더링이라고 하는데 CSR은 렌더링이 클라이언트 측에서 이루어지는 것을 뜻한다. 즉 서버는 요청을 받으면 클라이언트에 HTML과 JS를 보내고 클라이언트가 렌더링을 시작한다. 1. 유저가 요청을 보냄 2. CDN이 HTML 파일과 js로 접근할 수 있는 링크를 클라이언트로 보냄 - cdn이란 엔드 유저의 요청에 물리적으로 가까운 서버에서 요청에 응답하는 방식 3. 클라이언트는 HTML과 js를 다운로드 이 때 유저는 아무것도 볼 수 없음 4. 브라우저가 js 다운로드 5. js가 동작함 api를 콜하고 유저는 플레이스홀더를 보게됨. 플레이스 홀더란 문자나 이미지가 들어가기 전 임시로 표시해주는 문구나 이미지를 ..
믹스드 콘텐츠(Mixed Content)로 인한 보안 문제 믹스 콘텐츠란 만약 웹 사이트에서 HTTP 방식으로 이미지를 불러오거나 영상을 불러올 때 https 방식과 http 방식이 섞여있는 것을 말한다. 최근 크롬과 파이어폭스의 경우는 https가 아니면 경고하고 로드하지 않는다. HTTPS의 약화 - 보안되지 않는 프로토콜을 사용할 경우 네트워크를 도청하고 양자간 통신을 보거나 수정하는 수단인 중간자 공격에 취약하므로 전체 페이지의 보안이 약화된다. 이 때 공격자는 리소스를 사용해 페이지를 완전히 제어할 수 있기 때문에 아에 사전에 HTTP:// 프로토콜을 차단해버리는 방식이다. 쉬운 해결 방법은 https:// 로 소스를 변경하는 것이다.
프로그래머스 - 자동차 평균 대여 시간 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/157342 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SQL 문제는 가끔 기업 코딩테스트에서도 출제되고 실제로 백엔드 개발자라면 쿼리 작성할 일이 반드시 생기기 때문에 공부하기로 했다. * 주요 날짜 관련 함수 * DATE_ADD() : 날짜, 시간 더하기 DATE_SUB() : 날짜, 시간 빼기 DATEDIFF() : 두 기간 사이의 일수 계산 TIMEDIFF() : 두 기간 사이의 시간 계산 PERIOD_DIFF() : 두 기간 사이의 개월 수..
LINUX - 권한 설정 1. permission (허가권) 폴더는 d로 1개의 자릿수가 맨 앞에 존재 첫번째 자리수 * 100 두번째 자리수 * 10 세번쨰 자리수 * 1 => 총 777 r w x 순서로 기입되며 읽기, 쓰기, 실행 권한을 나타낸다. 2. 실행권한을 확인하는 명령어 두가지 ls -alh 현재 폴더 내의 읽기, 쓰기, 실행 그리고 소유자, 수정날짜 까지 보여주는 명령어 stat -c "%a %n" [파일/폴더 경로] 8진법 형태로 권한을 보여주는 명령어 3. 권한 수정법 chmod [777/755 등] [파일/디렉토리]