반응형

알고리즘 97

[JS] 알고리즘 기초 정복 5번 - 최솟값 구하기

문제 5번 7개의 수가 주어지면 그 숫자 중 가장 작은 수를 출력하는 프로그램을 작성하세요. 🍄 입력설명 첫 번째 줄에 7개의 수가 주어진다. 🍄 출력설명 첫 번째 줄에 가장 작은 값을 출력한다. 🍄 입력예제 1 5 3 7 11 2 15 17 🍄 출력예제 1 2 정답 코드 1) for문 이용하기 function solution(arr) { let answer, min = Number.MAX_SAFE_INTEGER; //가장 큰 임의의 숫자 for (let i = 0; i < arr.length; i++) { if (arr[i] < min) min = arr[i]; } answer = min; return answer; } let arr = [5, 7, 1, 3, 2, 9, 11]; console.log(..

알고리즘 2021.07.02

[JS] 알고리즘 기초 정복 4번 - 1부터 N까지 합 출력하기

문제 4번 자연수 N이 입력되면 1부터 N까지의 합을 출력하는 프로그램을 작성하세요. 🍄 입력설명 첫 번째 줄에 20이하의 자연수 N이 입력된다.. 🍄 출력설명 첫 번째 줄에 1부터 N까지의 합을 출력한다. 🍄 입력예제 1 6 🍄 출력예제 1 21 🍄 입력예제 2 10 🍄 출력예제 2 55 정답 코드 function solution(n) { let answer = (n * (n + 1)) / 2; return answer; } console.log(solution(10)); //55출력 function solution(n) { let answer = 0; for (let i = 1; i

알고리즘 2021.07.02

[JS] 알고리즘 기초 정복 3번 - 연필개수

문제 3번 연필 1 다스는 12자루입니다. 학생 1인당 연필을 1자루씩 나누어 준다고 할 때 N명이 학생수를 입력하면 필요한 연필의 다스 수를 계산하는 프로그램을 작성하세요. 🍄 입력설명 첫 번째 줄에 1000 이하의 자연수 N이 입력된다. 🍄 출력설명 첫 번째 줄에 필요한 다스 수를 출력합니다. 🍄 입력예제 1 25 🍄 출력예제 1 3 🍄 입력예제 2 178 🍄 출력예제 2 15 정답 코드 //아 너무 간단하게 풀 수 있네... function solution(n) { let answer = Math.ceil(n / 12); return answer; } console.log(solution(25)); //3 출력 내가 푼 코드 function solution(n) { let answer; if (n ..

알고리즘 2021.06.28

[JS] 알고리즘 기초 정복 2번 - 삼각형 판별하기

문제 2번 길이가 서로 다른 A, B, C 세 개의 막대 길이가 주어지면 이 세 막대로 삼각형을 만들 수 있으면 “YES"를 출력하고, 만들 수 없으면 ”NO"를 출력한다. 🍄 입력설명 첫 번째 줄에 100이하의 서로 다른 A, B, C 막대의 길이가 주어진다. 🍄 출력설명 첫 번째 줄에 “YES", "NO"를 출력한다. 🍄 입력예제 1 6 7 11 🍄 출력예제 1 YES 🍄 입력예제 2 13 33 17 🍄 출력예제 2 NO 두 변의 길이의 합은 나머지 한 변보다 항상 크다는 것을 알면 풀 수 있다! 정답 코드 function solution(a, b, c) { let answer = "YES", max; let sum = a + b + c; //합을 구해서 나머지 두 변의 길이 합을 구해줄 것 if (..

알고리즘 2021.06.28

[JS] 알고리즘 기초 정복 1번 - 세 수 중 최솟값 찾기

문제 1번 세 수 중 최솟값 100이하의 자연수 A, B, C를 입력받아 세 수 중 가장 작은 값을 출력하는 프로그램을 작성하세요. (정렬을 사용하면 안됩니다) 🍄 입력설명 첫 번째 줄에 100이하의 세 자연수가 입력된다. 🍄 출력설명 첫 번째 줄에 가장 작은 수를 출력한다. 🍄 입력예제 6 5 11 🍄 출력예제 5 정답 코드 function solution(a, b, c) { let answer; if (a < b) answer = a; else answer = b; if (c < answer) answer = c; return answer; } console.log(solution(6, 5, 11)); //5 출력

알고리즘 2021.06.28

[JS] 프로그래머스 1단계 - 모의고사(완전탐색)

문제링크 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 코드 function solution(answers) { var answer = []; //수포자 3명의 찍는 패턴(반복 됨) let students = [ [1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5] ]; //수포자들의 점수 let score = [0,0,0]; //수포자별 점수 계산 for(let i=0; i

알고리즘 2021.06.09

[JS] 프로그래머스 1단계 - 체육복(greedy)

링크 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 코드 function solution(n, lost, reserve) { var answer = 0; let total = []; //전체 학생을 1로 세팅 for (let i=0; i

알고리즘 2021.06.09

[파이썬] 단계별 문제 풀기 - 15650번 백트래킹 (N과 M 2)

문제링크 문제 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. #순열을 구하는 combinations 조합 모듈을 이용하여 문제 해결 import sys from itertools import combinations #input값 자연수 n까지, 중복없이 m개를 고르는 수열 n,m =..

알고리즘 2021.03.17

[파이썬] 단계별 백준 문제 풀기 - 2630번 재귀/분할정복 (색종이 만들기)

문제링크 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 문제 아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 ..

알고리즘 2021.03.17