본문 바로가기

전체 글225

[JavaScript][Programmers][Level1] 연습문제 모음 1. 서울에서 김서방 찾기 (s.indexOf()) - indexOf을 사용하면 쉽게 구할 수 있다. - 찾고자 하는 문자열과 같은 index를 return 해준다. function solution(seoul) { const idx = seoul.indexOf('Kim'); return `김서방은 ${idx}에 있다`; } 2. 문자열 다루기 기본 (isNaN()) - isNaN() 은 NaN인지 아닌지 boolean 값을 반환해준다. 문자열이거나 문자와 숫자가 섞인 경우는 true를 숫자면 false를 반환해준다. function solution(s) { for(let i=0; i a 2021. 3. 4.
[JavaScript][Programmers][Level1] 소수 찾기 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 nresult 10 4 5 3 입출력 예 설명 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 🌈 풀이 후기 - Javascript 공부도 할겸 programmers에 있는 문제를 조금씩 풀어갈 예정입니다. level1 부터 차근차근 풀어가려고 합니다. - 이 문제는 소수 찾기로 에라토스테네스의 체를 이용하면 빠르게 소수.. 2021. 3. 4.
[Java] [백준 1477][이분 탐색, Parametric Search] 휴게소 세우기 문제 다솜이는 유료 고속도로를 가지고 있다. 다솜이는 현재 고속도로에 휴게소를 N개 가지고 있는데, 휴게소의 위치는 고속도로의 시작으로부터 얼만큼 떨어져 있는지로 주어진다. 다솜이는 지금 휴게소를 M개 더 세우려고 한다. 다솜이는 이미 휴게소가 있는 곳에 휴게소를 또 세울 수 없고, 고속도로의 끝에도 휴게소를 세울 수 없다. 휴게소는 정수 위치에만 세울 수 있다. 다솜이는 이 고속도로를 이용할 때, 모든 휴게소를 방문한다. 다솜이는 휴게소를 M개 더 지어서 휴게소가 없는 구간의 길이의 최댓값을 최소로 하려고 한다. (반드시 M개를 모두 지어야 한다.) 예를 들어, 고속도로의 길이가 1000이고, 현재 휴게소가 {200, 701, 800}에 있고, 휴게소를 1개 더 세우려고 한다고 해보자. 일단, 지금 이.. 2021. 3. 1.
[Java] [백준 1300][이분 탐색, Parametric Search] K번째 수 문제 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다. 출력 B[k]를 출력한다. BOJ 1300: K번째 수 🌈 풀이 후기 처음에 단순하게 배열에 넣어서 검사하려다가 범위가 너무 커서 메모리 오류가 났습니다. 범위를 잘 파악하고 문제를 시작해야 시간낭비를 줄일 수 있을것 같습니다. 곰곰히 생각해보니 이전에 풀다가 실패했던 유형과 비슷했.. 2021. 3. 1.
[Java] [백준 2075][우선순위큐] N번째 큰 수 문제 N×N의 표에 수 N2개 채워져 있다. 채워진 수에는 한 가지 특징이 있는데, 모든 수는 자신의 한 칸 위에 있는 수보다 크다는 것이다. N=5일 때의 예를 보자. 12 7 9 15 5 13 8 11 19 6 21 10 26 31 16 48 14 28 35 25 52 20 32 41 49 이러한 표가 주어졌을 때, N번째 큰 수를 찾는 프로그램을 작성하시오. 표에 채워진 수는 모두 다르다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. 출력 첫째 줄에 N번째 큰 수를 출력한다. 🌈 풀이 후기 우선순위큐를 이용하면 정말 쉽게 풀 수 있습니다. 우선순위 큐를 그.. 2021. 2. 27.
[Java] [백준 11659][누적합] 구간합 4 문제 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. 출력 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. 🌈 풀이 후기 전형적인 누적합 문제입니다.누적합 개념을 익히기에 좋은 문제인것 같습니다. https://www.youtube.com/watch?v=rI8NRQsAS_s&ab_channel=동빈나 제가 좋아하는 동빈나에서 자세히 알려주고 있습니다 ㅎㅎ 심심하면 봐보세요! 👩‍🏫 문제 풀이 알고리즘 - 누적합 누적.. 2021. 2. 27.