Loading...

시간 다루기

1. 문제 이벤트 시작 날짜와 이벤트가 끝나는 날짜, 고객의 접속 기록이 주어진다. 모든 날짜는 mm/dd 형태로 주어지는데 이벤트 시작 날짜는 mm/dd day 형태로 주어진다. day는 'MON','TUE','WED','THU','FRI','SAT','SUN' 중 하나로 주어진다. 고객의 접속 기록은 시작 날짜와 끝나는 날짜 사이에서 접속한 날짜를 리스트 형태로 주어진다. 2월은 항상 28일로 끝난다고 가정한다. 날짜는 01/01부터 12/31까지 주어지고 시작 날짜가 끝나는 날짜보다 늦는다던지 형식에 맞지 않는 경우는 주어지지 않는다 이 때 고객이 평일에 연속해서 접속한 기록의 최대 일수를 구한다면? 예를 들어 24일이 목요일 일때, 24,25,26,28,29,31 접속했다고 가정하자. 일요일인 2..

2021. 11. 22. 02:20

체스판에서 정사각형의 개수

1. 문제 n개의 점이 일정한 간격으로 각 줄마다 n개의 줄이 존재하는 n*n 체스판이 있다고 하자. n*n 체스판에서 서로 다른 네개의 점을 이어 만든 정사각형의 개수는 몇개일까? 선분을 이을 때 선분 중간에 존재하는 점은 개수로 세지 않는다. 예를 들어 n=3이면 6개 존재하고 n=4이면 20개 존재한다. n은 2 이상의 자연수 2. 풀이 이런 문제가 나오면 규칙이 있겠구나 이렇게 생각하고 규칙을 찾으면 된다 프로그래밍을 해서 정사각형을 일일이 세도록 만들수는 없을거니까 근데 사실 규칙을 찾을려면 정사각형의 개수를 정확하게 세야하는데 그것이 절대 쉬운건 아니다 규칙을 찾겠다는 생각부터 한 것이 분명 한단계 발전한거 2가지로 나눠 생각할 수 있다 빨간색으로 된 격자형 정사각형이랑 파란색으로 된 기울어진..

2021. 11. 21. 01:49

문자열 다룰 때 필수적으로 갖춰야할 스킬들

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 카카오에 입사한 신입 개발자 네오는 “카카오계정개발팀”에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. “네오”에게 주어진 첫 업무는 새로 가입하는 유저들이 카카오 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천해주는 프로그램을 개발하는 것입니다...

2021. 11. 21. 00:48

완전히 탐색해야할때는..

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/87946 코딩테스트 연습 - 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던 programmers.co.kr xx게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이 때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타..

2021. 11. 19. 02:44

반복문을 줄이는 방법

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/87390 코딩테스트 연습 - n^2 배열 자르기 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부 programmers.co.kr 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. 1) n행 n열 크기의 비어있는 2차원 배열을 만듭니다. 2) i = 1,2,3, ... , n에 대해서, 다음 과정을 반복합니다. ○ 1행 1열부터 i행 i열까지의 영역 내에서 모든 빈 칸을 숫..

2021. 11. 17. 01:29

stack 활용법 - 올바른 괄호 문자열 판별

1. 문제 https://programmers.co.kr/learn/courses/30/lessons/76502 코딩테스트 연습 - 괄호 회전하기 programmers.co.kr 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A}도 올바른 괄호 문자열입니다. 예를 들어, []가 올바른 괄호 문자열이므로, ([])도 올바른 괄호 문자열입니다. 만약 A,B가 올바른 괄호 문자열이라면, AB도 올바른 괄호 문자열입니다. 예를 들어, {}와 ([])가 올바른 괄호 문자열이므로, {}([])가 올바른 괄호 문자열이므로, {}([])도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리..