본문 바로가기

2.알고리즘

(9)
백준 31822 재수강 python 문제링크 : https://www.acmicpc.net/problem/31822 recourse = input()N = int(input())lst = []result =0for _ in range(N): lst.append(input())for l in lst: if recourse[:5] == l[:5]: result = result + 1print(result) 첫번째 입력라인의 5글자만 잘라서, N줄에 거쳐 입력받는줄을 순회하며 비교하여 카운팅합니다
백준 31821 학식 사주기 python 문제 링크 : https://www.acmicpc.net/problem/25191N = int(input())menus = [int(input()) for _ in range(N)]result = 0M = int(input())for _ in range(M): result = result + menus[int(input()) - 1]print(result)N개의 메뉴 개수, M명의 학생의 수를 입력받아, 학생이 희망하는 번호의 음식값을 누적하여 출력합니다
백준 31775 글로벌 포닉스 python 문제 링크 : https://www.acmicpc.net/problem/31775 s1,s2,s3 = [line.strip() for line in sorted(open(0))]print('GLOBAL' if s1[0]=='k'and s2[0]=='l'and s3[0]=='p' else 'PONIX') 세 줄의 입력을 받아 정렬하고 변수에 할당합니다.그런 다음 각 줄의 첫 글자만 확인합니다.세 줄의 첫 글자가 모두 일치하면 'GLOBAL'을 출력합니다. 아니면 'PONIX'를 출력합니다
[JS]신규 아이디 추천 https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출코드 function solution(new_id) { let result = new_id.toLowerCase(); // 1단계 result = result.replace(/[^a-z0-9-_.]/g, "") //2단계 const arr = result.split("") result = arr.filter((e, i, array) => { if(e === ..
[JS]소수 만들기 https://school.programmers.co.kr/learn/courses/30/lessons/12977?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출 코드 function solution(nums) { const r = 3; const combination = (arr, k) => { const answer = []; const comb = [...Array(k)].fill(0); backTracking(answer, comb, arr, k, 0, 0); return answer; }; const bac..
[JS] 프로래머스 숫자 문자열과 영단어 https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출 코드 function solution(s) { if(s === "") return "" if(!isNaN(s)) return Number(s) const target = ["zero","one","two","three","four","five","six","seven","eight","nine"] for(let i = 0; i < 10; i++){ s = s.split(target[i]).j..
빅오 표기법(Big-o Notation) 시간 및 공간 복잡도 분석을 위한 표기법 (Big - O) -> 알고리즘의 최악의 경우 복잡도 측정 n은 입력의 개수 그림의 O(1)은 입력에 따라, 시간이 변하지 않습니다 -> 상수 시간 배열의 인덱스를 사용해 접근 하는 경우가 O(1)의 예입니다. const arr = [1,2,3, ... , 1004, ...] // 많은 데이터라고 가정 console.log(arr[1004]) 인덱스로 접근하는 시간은 정해져 있습니다. 최악의 경우에도 한 번에 접근할 수 있으며, 연결 리스트와 차이를 갖는 배열의 특징입니다. O(n)은 선형 시간이고, 최악의 경우에는 n번 연산해야 합니다. 반복문을 통해, 숫자를 출력하는 경우가 O(n)의 예입니다. const linear = n => { for(let i = 1;..
[JS] 프로그래머스 K번째 수 https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출코드 function solution(array, commands) { const answer = []; for (let i = 0; i a - b)[commands[i][2]-1]) } return answer; } 반복문..