전체 글(207)
-
[프로그래머스-Level 1] [JavaScript] 완주하지 못한 선수 - Hash 사용
[문제] 마라톤 선수들이 마라톤에 참여하여 1명의 선수만 완주하지 못하고 모두 마라톤을 완주한다고 가정합니다. 마라톤 참가자 배열 participant와 완주한 참가자 배열인 completion이 입력값 매개변수로 주어질 때, 완주하지 못한 선수를 return해보세요. 입력 테스트 값은 아래와 같습니다. participant (참가한 선수) completion (완주한 선수) return (완주하지 못한 선수) ["leo", "kiki", "eden"] ["eden", "kiki"] "leo" [알고리즘] Hash 데이터 자료형을 사용합니다. 즉 Map 또는 객체(Object) 형태를 사용하시면 됩니다. [풀이] 저는 객체로 풀이를 진행했습니다. 먼저 객체 변수 players를 선언하고 participa..
2022.12.01 -
[022] 플러터 (Flutter) 배우기 - FutureBuilder, Future, Async, Await, 로딩표시, JSON 파일 불러오기
안녕하세요, totally 개발자입니다. 오늘 다룰 부분은 좀 방대하지만 Flutter에서 반드시 알아야 할 부분으로 FutureBuilder, Future, Async, Await, 로딩 중일 때 로딩중임을 표시하는 방법, JSON 파일을 불러오는 플러터에서 불러와서 출력하는 방법들입니다. 이 개념은 비동기(Asynchronous) 처리로써, 보통 한 작업을 처리하고 나서 다음 작업을 처리하는 반면, 비동기에서는 한 작업을 일단 처리를 시작하고 처리가 끝나지 않았음에도 불구하고 다음 코드 작업 실행에 착수합니다. 그 때 플러터에서 사용하는 개념이 Future, Async, Await입니다. async 키워드는 함수 부분에 붙여주고 await는 실행해야 하는 함수 앞에 붙여주면 됩니다. 바로 예제를 확인..
2022.11.30 -
[프로그래머스-Level 1] [JavaScript] 명예의 전당(1) - 배열, 정렬, splice 활용
[문제] 명예의 전당이라는 TV 프로그램이 있습니다. 매일 1명의 가수가 노래를 부르고 시청자들이 문자투표로 점수를 부여합니다. 상위 k번째 이내인 경우, 그 점수를 명예의 전당 목록에 올립니다. 프로그램 시작 이후 k일까지는 모든 점수가 목록에 오르지만 k개수를 초과하는 경우 최대 k번째까지 높은 점수만 남기고 다른 점수들은 목록에서 제외됩니다. 총 발표 점수를 배열 형태로 반환하는 것이 문제입니다. 아래 표를 참고하시면 됩니다. 일차 1 2 3 4 5 6 7 score 10 100 20 150 1 100 200 명예의 전당 (k = 3) 10 100 10 100 20 10 150 100 20 150 100 20 150 100 100 200 150 100 발표 점수 10 10 10 20 20 100 1..
2022.11.30 -
[프로그래머스-Level 1] [JavaScript] 부족한 금액 계산하기
[문제] 한 놀이기구의 원래 이용료가 price원으로 가정할 때, 같은 놀이기구를 N번째 이용한다면 원래 price의 N배를 받습니다. 한 놀이기구를 주어진 입력 값 count번 탔다고 가정할 경우, 현재 얼마가 부족한지 계산하세요. (예시: price가 3, money가 20, count가 4일 때, 총 이용 금액은 3 (첫 번째 탑승) + 6 (두 번째 탑승) + 9 (세 번째 탑승) + 12 (네 번째 탑승) = 30이 되는데 현재 주어진 money가 20이므로 30 - 20 = 10이 됩니다.) [알고리즘] 반복문과 조건문을 사용하면 됩니다. [풀이] 카운트만큼 price * i 곱해주고 money에서 차감합니다. money가 0보다 크다면 부족하지 않기 때문에 0을 반환하며 money가 음수 즉..
2022.11.29 -
[프로그래머스-Level 1] [JavaScript] 과일 장수 - 배열, 최솟값 이용
[문제] 사과 상자를 포장한다고 가정합니다. 사과는 상태에 따라 1점-k점까지의 점수로 분류되며 최상품의 사과가 k점수이고 1점이 최하품의 사과입니다. 한 상자에 사과를 m개씩 담아서 포장하며 상자에 담긴 사과 중에 가장 낮은 점수가 1이상 k이하라면 한 상자의 가격은 p 곱하기 m입니다. 상자 단위로만 포장해서 판매되며 남는 사과 즉 나머지는 버립니다. k가 3, m이 4라고 가정했을 때 [1,2,3,1,2,3,1] 이렇게 7개의 사과 점수가 주어지는 경우 [2,3,2,3] 이렇게 사과 상자를 1개를 만들어 판매할 수 있습니다. 즉 최종 결과는 (최저 사과 점수 * 한 상자에 있는 사과 개수 * 상자 개수) = 8이 됩니다. (2 * 4 * 1) = 8 [알고리즘] 정렬, 배열, Math.min 사용하..
2022.11.28 -
[프로그래머스-Level 1] [JavaScript] 햄버거 만들기 - 스택(Stack) 활용
[문제] 햄버거를 빵-야채-고기-빵 순서로 포장을 합니다. 숫자 1-2-3-1로 표현했을 때, 이 조합 순서대로 햄버거를 포장한다고 가정하여 재료들이 주어졌을 때 총 몇 개의 햄버거를 포장할 수 있는지 계산하는 문제입니다. 예를 들어 [2, 1, 1, 2, 3, 1, 2, 3, 1]의 배열이 입력으로 주어졌을 때 포장되는 햄버거는 총 2개입니다. [알고리즘] 스택을 활용할 수 있습니다. (스택이 아닌 다른 방법으로도 당연히 해결 가능합니다) [풀이] 아래 주석에 설명을 해놓은 것을 참고하시면 되며 먼저 burgerStack이란 배열을 하나 선언해주고, 그 스택 배열에 ingredient 배열의 요소를 push로 넣어줍니다. 그 다음 Stack의 길이가 4 이상인 경우, 맨 뒤의 Stack의 요소들이 각각..
2022.11.27