일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- C
- C++
- 성분
- Java
- algorithmStudy
- algorithmTest
- 서평
- 책을알려주는남자
- algorithmtraining
- 화장품
- JavaScript
- 재테크
- 프로그래밍언어
- 자바스크립트
- 주식
- 돈
- 독후감
- 자바
- 경제
- 투자
- 알고리즘트레이닝
- 독서
- 채권
- 지혜를가진흑곰
- 알고리즘 공부
- 백준알고리즘
- 책알남
- 알고리즘공부
- 프로그래머스 알고리즘 공부
- 다독
- Today
- Total
목록알고리즘 공부하기 (7)
탁월함은 어떻게 나오는가?
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NUzjd/btsCuPAU5vJ/NzcKqNMKyKU3MTMYvEthSk/img.png)
문제 설명 정수 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 함수를 완성해주..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bKkRmD/btsCiK8hhuB/nXp5LaYjvjN3fWsj4OuJ6k/img.png)
문제 설명 양의 정수 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진법으로 보았을 떄 소수..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QaqzS/btsxq4QTZug/Udao1JeVG2OGnIlS4Y7ey1/img.png)
문제 설명 제한사항 입출력 예 입출력 예 설명 풀이 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 function solution(picks, minerals) { let answer = 0; const length = Math.ceil(minerals.length / 5); const mineralList = minerals.splice(0, picks.reduce((a, b) => a + b) * 5); const caseArr = []; for (let i = 0; i mineralsObj[mineral]++); co..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cGSci3/btrwVchDXIp/2zghjhr1i2jKJC8G8nqzp0/img.png)
문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 NxN 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)x(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3^k이며, 이때 1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/c1qQRq/btrvrhKuDtW/AXtwHDz3qXMXxokEj9dpvK/img.png)
문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 입력 첫째 줄에 단어의 개수 N이 주어진다. (1
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dXvGpZ/btrtX0KbuUA/WXnlgtGcOnrgaJnDmxnoiK/img.png)
문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 입력 첫째 줄에 정렬학려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 코드 1) Sort 를 활용한 정렬 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 package com.company.sort; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Collection..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXczPA/btrszkKeQtT/qwJK7OUkiLB1XXUcCgPoE0/img.png)
[문제] 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg 이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165)라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 ..