일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 성분
- Java
- algorithmStudy
- 돈
- C++
- 독서
- 프로그래밍언어
- 주식
- 책을알려주는남자
- 채권
- 자바스크립트
- 재테크
- algorithmTest
- 서평
- JavaScript
- C
- 다독
- 지혜를가진흑곰
- 알고리즘 공부
- 알고리즘공부
- 백준알고리즘
- 경제
- 독후감
- 화장품
- 프로그래머스 알고리즘 공부
- 자바
- 알고리즘트레이닝
- 투자
- algorithmtraining
- 책알남
- Today
- Total
목록[Snow-ball]프로그래밍(컴퓨터) (331)
탁월함은 어떻게 나오는가?
문제 설명 영재는 택배상자를 트럭에 싣는 일을 합니다. 영재가 실어야 하는 택배상자는 크기가 모두 같으며 1번 상자부터 n번 상자까지 번호가 증가하는 순서대로 컨테이너 벨트에 일렬로 놓여 영재에게 전달됩니다. 컨테이너 벨트는 한 방향으로만 진행이 가능해서 벨트에 놓은 순서대로(1번 상자부터) 상자를 내릴 수 있습니다. 하지만 컨테이너 벨트에 놓인 순서대로 택배상자를 내려 바로 트럭에 싣게 되면 택배 기사님이 배달하는 순서와 택배상자가 실려 있는 순서가 맞지 않아 배달에 차질이 생깁니다. 따라서 택배 기사님이 미리 알려준 순서에 맞게 영재가 택배상자를 실어야 합니다. 만약 컨테이너 벨트의 맨 앞에 놓인 상자가 현재 트럭에 실어야 하는 순서가 아니라면 그 상자를 트럭에 실을 순서가 될 때까지 잠시 다른 곳에..
문제 설명 철수는 롤케이크를 두 조각으로 잘라서 동생과 한 조각씩 나눠 먹으려고 합니다. 이 롤케이크에는 여러가지 토핑들이 일렬로 올려져 있습니다. 철수와 동생은 롤케이크를 공평하게 나눠먹으려 하는데, 그들은 롤케이크의 크기보다 롤케이크 위에 올려진 토핑들의 종류에 더 관심이 많습니다. 그래서 잘린 조각들의 크기와 올려진 토핑의 개수에 상관없이 각 조각에 동일한 가짓수의 토핑이 올라가면 공평하게 롤케이크가 나누어진 것으로 생각합니다. 예를 들어, 롤케이크에 4가지 종류의 토핑이 올려져 있다고 합시다. 토핑들을 1, 2, 3, 4와 같이 번호로 표시했을 때, 케이크 위에 토핑들이 [1, 2, 1, 3, 1, 4, 1, 2] 순서로올려져 있습니다. 만약 세 번재 토핑(1)과 네 번째 토핑(3) 사이를 자르면..
문제 설명 정수 n, left, right 가 주어집니다. 다음 과저을 거쳐서 1차원 배열을 만들고자 합니다. 1. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. 2. i=1, 2, 3, ..., n 에 대해서, 다음 과정을 반복합니다. - 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 3. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 4. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left + 1], ..., arr[right] 만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어진 1차원 배열을return 하도록 solution 함수를 완성해주..
문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. - 0P0 처럼 소수 양쪽에 0이 있는 경우 - P0 처럼 소수 오른쪽에만 0이 있고 왼쪽에는 아무것도 없는 경우 - 0P 처럼 소수 왼쪽에만 0이 있고 오른쪽에는 아무것도 없는 경우 - P 처럼 소수 양쪽에 아무것도 없는 경우 단, P는 각 자릿수에 0을 포함하지 않는 소수입니다. 예를 들어, 437674을 3진수로 바꾸면 211020101011 입니다. 여기서 찾을 수 있는 조건에 맞는 소수는 왼쪽부터 순서대로 211, 2, 11이 있으며, 총 3개입니다. (211, 2, 11을 k진법으로 보았을 때가 아닌, 10진법으로 보았을 떄 소수..
문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 떄, 차량별로 주차요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 제한사항 입출력 예 입출력 예 설명 입출력 예 #1 문제 예시와 같습니다. 풀이: [ 주차 요금 계산 ] 알고리즘 문제의 경우에는 recodes 배열이 for문을 한번 도는 동안 얼마나 시간을 사용했는지에 대해 계산처리하면 되는 문제였다. 순서를 정리하자면, 첫째. recodes 배열에 값을 기준으로 In/Out 기준으로 분기처리를해 시간 계산처리를 한다. 둘째. 차 번호는 작은숫자의 순서대로 정렬이 되어야 하기 때문에 정렬을 하면서, 요금을 정산하기 전 table의 totalTime 값이 0보다 작다면 출차하지 않았기 때문에 23:59기준으로 처..
문제 설명 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행한 것으로 간주합니다. 큐는 먼저 집어넣은 원소가 먼저 나오는 구조입니다. 이 문제에서는 큐를 배열로 표현하며, 원소가 배열 앞쪽에 있을수록 먼저 집어넣은 원소임을 의미합니다. 즉, pop을 하면 배열의 첫 번째 원소가 추출되며, insert를 하면 배열의 끝에 원소가 추가됩니다. 예를 들어 큐 [1, 2, 3, 4]가 주어졌을 때, pop를 하면 맨 앞에 있는 원소 1이 추출되어 [2, 3, ..
구글 OTP 2FA인증에 대해서 구현해보고 싶어서 테스트를 진행해보았다. 개인적으로 나는 구글에서 열어주는 api를 사용하는 줄 알았는데, 전혀 아니였다. 이 글에는 TOTP에 관한 간단한 설명과 코드에 적용한 방법만 적을 예정이다. 좀 더 자세히 알고 싶다면 밑에 레퍼런스 참조하는것을 추천한다. 2FA 란? - 2FA는 Two-Factor Authentication 의 준말로, 유저의 보안을 강화하기 위해 1차 로그인 과정이외의 추가 인증 과정을 말한다. - 최근 많은 웹 사이트, 게임 등에서 활용되고 있는 OTP, 모바일을 통한 추가 인증 등이 이에 해당된다. - 인증은 아래의 3가지 유형으로 크게 분류할 수 있다. - 일반적으로 지식기반의 인증에 더불어 또 다른 인증 방식을 추가하여 구현이 된다. ..
문제 설명 철수와 영희는 선생님으로부터 숫자가 하나씩 적힌 카드들을 절반씩 나눠서 가진 후, 다음 두 조건 중 하나를 만족하는 가장 큰 양의 정수 a의 값을 구하려고 합니다. 1. 철수가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 영희가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 2. 영희가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 철수가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 에를 들어, 카드들에 10, 5, 20, 17이 적혀 있는 경우에 대해 생각해 봅시다. 만약, 철수가 [10, 17]이 적힌 카드를 갖고, 영희가 [5, 20]이 적힌 카드를 갖는다면 두 조건 중 하나를 만족하는 양의 정수 a는 존재하지 않습니다. 하지만, ..