본문 바로가기

전체 글

(110)
[Programmers] 연속 부분 수열 합의 개수 - Golang INDEX https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 원형으로 이루어진 수열은 사실 쭉 펼쳐진 선형 배열로 생각하면 됩니다. 예제로 주어진 배열 [7, 9, 1, 1, 4] => [7, 9, 1, 1, 4, 7, 9, 1, 1]로 변환한 뒤 길이가 1인 연속 부분 수열, 길이가 2인 연속 부분 수열... 을 구하면 됩니다. 또한 정답은 중복이 허용되지 않는 배열의 크기이므로 Set 구조가 필요합니다. 하지만 Golang ..
[Programmers] 택배상자 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 순서대로 들어오는 택배 상자를 보조 컨테이너(스택)를 활용해서 요구하는 순서에 따라 적재하는 문제입니다. 이 문제에서 요구사항은 너무나 명확합니다. 보조 컨테이너는 마지막에 넣은 택배만 꺼낼 수 있다. 즉, 스택 구조라는 의미입니다. 그래서 이 문제의 정답률이 54%로 Lv2에서 비교적으로 높은 정답률을 기록하지 않았나 싶습니다. 우선 필요한 값을 정의합니다. let ..
Javascript console.log 조심해야겠어요 Preview 현재 제가 운영 중인 앱 서비스는 Javascript와 Html, Css로 개발하는 웹앱입니다. 최근에 성능 최적화를 고민하다가 Production (운영) 환경에서도 console.log 가 실행되고 있는 걸 발견했습니다. 물론 네이티브 애플리케이션 apk 를 빌드할 때 release 모드로 빌드를 하기 때문에 Production 앱은 디버깅이 되진 않지만 내부적으로 console.log 함수가 호출되긴 합니다. 개발 환경에서 5분 정도 사용해보니 console.log로 찍히는 메시지가 천 줄이 넘더군요.. 지금까지 이 부분에 있어서 전혀 고려가 안되고 있었습니다. 과연 이 console.log 는 애플리케이션의 성능을 얼마나 저해시킬까요? Methodology https://ui.toa..
[Programmers] 연속된 부분 수열의 합 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/178870# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 수열을 순회하면서 연속된 수열의 합이 K인 원소의 인덱스를 찾으면 됩니다. 예제로 주어진 sequence를 도식화해 보면 다음과 같습니다. 연속된 수열의 합을 구하기 위해선 처음 INDEX 와 끝 INDEX가 필요합니다. let startIdx = 0; let endIdx = 0; let answer = [0, 1000000]; //끝 INDEX와 처음 INDEX의 ..
Javascript 반복문 성능 INDEX Preview 저번 프로그래밍 문제 포스팅(https://sieon-dev.tistory.com/120)에서 봤듯이 Javascript 에서 사용하는 여러 반복문이 각각 성능이 다르다는 걸 알 수 있었습니다. JS에는 for, forEach, map, reduce, while, do while, for in, for of 등 다양하게 반복문을 구현할 수 있는데 이번 글에서는 간단하게 for 과 while 문의 실행시간을 비교해보려고 합니다. Methodology function for_test() { let sum = 0; for (let i = 0; i
[Programmers] 롤케이크 자르기 -Javascript 번외편<왜 이게 안돼?> INDEX https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 철수와 동생이 서로 다른 토핑의 개수가 동일하게 롤케이크를 자를 수 있는 경우의 수를 구하는 문제입니다. 동생이 우선 롤케이크 전부다를 가진다고 가정한 다음 한 조각씩 철수에게 줄 때 철수가 가지고 있지 않던 토핑이면 철수의 토핑개수 +1, 동생이 한 조각을 줌으로써 동생이 가지고 있던 토핑의 개수가 동이 나면 동생의 토핑개수 -1 하면 됩니다. 이를 코드로 풀면 다음..
[Programmers] 두 원 사이의 정수 쌍 https://school.programmers.co.kr/learn/courses/30/lessons/181187# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 두 원 사이에 존재하는 정수 좌표를 가진 점의 개수를 구하는 문제입니다. 피타고라스의 정리를 이해하면 문제를 조금 더 쉽게 이해할 수 있습니다. 우선 한 원 안에 있는 정수 좌표 점의 개수를 구하는 방식은 다음과 같습니다. function getCircleDot(r){ let cnt = 0; for(let y=-r; y
[Programmers] 숫자 카드 나누기 -Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/135807# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 어느 한쪽의 모든 숫자 카드를 나눌 수 있는 a라는 숫자는 공약수 일 것입니다. 가장 큰 a를 뽑아야 하니 최대 공약수를 뽑아야 되는 문제입니다. 만약 [4, 6, 12] 가 있을 때 이 숫자들의 최대공약수를 구하는 방법은 단순하게 풀면 가장 작은 숫자 4부터 2까지 반복문을 통해 모든 숫자가 그 숫자로 나눠지는지 확인하면 됩니다. 하지만 조건을 살펴보면 배열의 원소..

반응형