본문 바로가기

2.알고리즘

(7)
백준 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; } 반복문..
[JS]음양 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출코드 function solution(absolutes, signs) { return absolutes.reduce((acc, cur, i) => { signs[i] ? acc = acc + cur : acc = acc - cur return acc; },0) } 문제의 조건을 보았을때, 순회해야하는 배열은 2개이나 길이가 같다고 하였습니다 한개만 순회하면, 나머지는 인덱스로 접근하면 된다는 ..