일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 최원영 저자
- 모던 자바스크립트 deep dive
- Do it! 시리즈
- js
- IT 지식
- K-Digital Credit
- 자격증
- 공부를 가장한 일기일지도
- boj
- 개발자북클럽
- 오블완
- SQL 개발자
- 비전공자를 위한
- 프로그래머스
- 노마드코더
- 엘리스코딩
- SQLD
- 구름edu
- CodeStates
- 톺아보기
- 자바스크립트
- 노마드 코더
- 노개북
- 제로베이스
- 알고리즘
- 이해할 수 있는
- nomadcoders
- 백준
- javascript
- 티스토리챌린지
- Today
- Total
목록자료구조&알고리즘 (23)
개발자를 희망하는 초보의 자기개발 이야기
문제 원문 링크문제N*M크기의 두 행렬 A와 B가 주어졌을 때, 두 행렬을 더하는 프로그램을 작성하시오.입력첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같고, 행렬의 원소는 절댓값이 100보다 작거나 같은 정수이다.출력첫째 줄부터 N개의 줄에 행렬 A와 B를 더한 행렬을 출력한다. 행렬의 각 원소는 공백으로 구분한다.예제 입력 13 31 1 12 2 20 1 03 3 34 4 45 5 100예제 출력 14 4 46 6 65 6 100수도코드1. input의 첫 번째 입력값으로 행렬의 크기 N과 M을 확인한다.2. N*M 크기만큼 배열을 생성한다...
문제 원문 링크문제문자열 S가 주어졌을 때, S의 서로 다른 부분 문자열의 개수를 구하는 프로그램을 작성하시오.부분 문자열은 S에서 연속된 일부분을 말하며, 길이가 1보다 크거나 같아야 한다.예를 들어, ababc의 부분 문자열은 a, b, a, b, c, ab, ba, ab, bc, aba, bab, abc, abab, babc, ababc가 있고, 서로 다른것의 개수는 12개이다.입력첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000 이하이다.출력첫째 줄에 S의 서로 다른 부분 문자열의 개수를 출력한다.예제 입력 1ababc예제 출력 112수도코드1. 문자열의 첫번째부터 마지막까지 기준을 이동한다.2. 기준 문자열 및 기준 문자열 + 이하의 문자열을 결합하면 부..
문제 원문 링크문제예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다.크로아티아 알파벳변경čc=ćc-dždz=đd-ljljnjnjšs=žz=예를 들어, ljes=njak은 크로아티아 알파벳 6개(lj, e, š, nj, a, k)로 이루어져 있다. 단어가 주어졌을 때, 몇 개의 크로아티아 알파벳으로 이루어져 있는지 출력한다.dž는 무조건 하나의 알파벳으로 쓰이고, d와 ž가 분리된 것으로 보지 않는다. lj와 nj도 마찬가지이다. 위 목록에 없는 알파벳은 한 글자씩 센다.입력첫째 줄에 최대 100글자의 단어가 주어진다. 알파벳 소문자와 '-', '='로만 이루어져 있다.단어는 크로아티아 알파벳으로 이루어져 있다. 문제 설명의 표에 나와..
문제 원문 링크문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.출력첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.예제 입력 1Mississipi예제 출력 1?예제 입력 2zZa예제 출력 2Z예제 입력 3z예제 출력 3Z예제 입력 4baaa예제 출력 4A풀이1const fs = require("fs");const input = fs.readFileSync("/dev/stdin").toS..
문제 원문 링크문제예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.입력첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.출력첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.예제 입력 15예제 출력 1 * *** ***** **************** ******* ***** *** *풀이1const fs = require("fs");const N = Number(fs.readFileSync("dev/stdin").toString().trim());for (let i = 1; i 최대한 헷갈리지 않게 지문대로 입력값을 숫자형으로 N 변수에 담았다.반복할 범위는 지문에서 ' 첫째 줄부터 2×N-1번째 줄까지' 라고 알려주고 있다.1~5번째까지는 공백이 줄고 별이 늘어나지만, ..
문제 원문 링크문제아래 예제와 같이 새싹을 출력하시오.입력입력은 없다.출력새싹을 출력한다.예제 출력 1 ,r'"7r`-_ ,' ,/ \. ". L_r' `~\/ | |풀이1console.log(" ,r'\"7")console.log("r`-_ ,' ,/")console.log(" \\. \". L_r'")console.log(" `~\\/")console.log(" |")console.log(" |")한 줄씩 console.log로 출력하면 쉽게 풀 수 있다. "와 ', \에 주의해서 풀면 된다."나 '로 출력할 문자열을 감쌀 때 내부에 동일한 "에서 \"나 \'로 기재하기\기호에 대해서는 \\로 기재하기풀이2var res..
문제 원문 링크문제영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.입력첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.출력첫째 줄에 단어의 개수를 출력한다.예제 입력 1The Curious Case of Benjamin Button예제 출력 16예제 입력 2 The first character is a blank예제 출력 26예제 입력 3The last character is..
문제 원문 링크문제도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이 들어있다. 도현이는 앞으로 M번 공을 바꾸려고 한다. 도현이는 공을 바꿀 바구니 2개를 선택하고, 두 바구니에 들어있는 공을 서로 교환한다. 공을 어떻게 바꿀지가 주어졌을 때, M번 공을 바꾼 이후에 각 바구니에 어떤 공이 들어있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐서 공을 교환할 방법이 주어진다. 각 방법은 두 정수 i j로 이루어져 있으며, i번 바구니와 j번 바구니에 들어있는 공을 교환..
문제 원문 링크문제도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오.입력첫째 줄에 N (1 ≤ N..
문제 원문 링크문제9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.입력첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.출력첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.예제 입력 132938125774408561예제 출력 1858풀이1const fs = require("fs");const input = fs .readFileSync("/dev/stdin") .toString() ...