전체 글 (64) 썸네일형 리스트형 [Python] 더 맵게 - 프로그래머스 Level2 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 scovil.. [Python] 기능개발 - 프로그래머스 Level2 문제 설명 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의 자.. React를 사용하는 이유??? 리액트를 쓰는 이유는 무엇일까?? 컴퓨터 관련 공학을 나와서 제대로 코딩을 시작하게 된 것이 리액트를 시작하고 나서이다. 지인의 권유로 프로젝트를 하기 위해서 다짜고짜 시작했던 것이 바로 이 리액트였다. 당시 나의 지식은 JavaScript는 커녕 HTML CSS나 학교 수업으로 겨우겨우 할 수 있었던 정도였다... (지금 생각하면 너무 생각없이 시작했던 것 같다) 역시 지식이 없던 탓에 결과는 참담했다. 지금은 나름 여러 프로젝트를 하면서 구현 정도는 어느정도는 하는 편이다. 지금 새로이 프로젝트를 진행하면서 리액트를 쓰는 이유를 재 정리하고자 이렇게 포스팅을 올려본다. 프론트엔드 라이브러리의 등장 배경 라이브러리의 등장 이전 웹 페이지는 대부분 정적인 웹 페이지였다. 정적인 웹 페이지란 웹 서버에 이.. 프로그래머스 Lv.1 다트게임(Python) 카카오톡에 뜬 네 번째 별! 심심할 땐? 카카오톡 게임별~ 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 갓 입사한 무지는 코딩 실력을 인정받아 게임의 핵심 부분인 점수 계산 로직을 맡게 되었다. 다트 게임의 점수 계산 로직은 아래와 같다. 다트 게임은 총 3번의 기회로 구성된다. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 옵션으로 스타상(*) , 아차상(#)이 존재하.. 프로젝트 회고록 제대로 된 첫 프로젝트 IT 관련 학과를 와서 팀 프로젝트나 프로젝트는 시도해보긴 했으나, 이렇게 학교에서 실 서비스로 사용할 어플 제작을, 제대로 시작하고 제대로 끝내본 프로젝트는 이번이 처음이었다. 그리고 2주 ~ 한 달 정도의 짧은 기간이 아닌 개인 공부할 시간을 포함하면 6개월이라는 시간을 들일만큼 큰 프로젝트는 당연히 처음이었던 것이었다. 그간 혼자서 프론트엔드, 백엔드를 조금씩 경험해 보긴 했었으나 "내가 지금까지 배우고 경험했던 것들로 학교에서 사용할 만큼 서비스를 만들어낼 수 있을까?"라는 생각이 강하게 들었다. 하지만 어쩌면 다시없을 기회이자 가장 크게 성장할 수 있는 계기가 될 수 있겠다 생각해서 첫걸음을 떼 봤고, 실제로도 크게 성장할 수 있었던 것 같다. 평소에도 남과 팀플을 진행하.. [JavaScript] 자료의 파괴와 비파괴 자바스크립트는 자료 처리를 위해서 다양한 함수 및 연산자를 제공한다. 자료 처리 연산자, 함수, 메소드는 크게 비파괴적 처리와 파괴적 처리로 구분할 수 있는데 이는 자료 처리 후 원본의 상태변화에 따라서 구분을 한다. 비파괴적 처리 : 처리 후에 원본 내용이 변경되지 않는다. 파괴적 처리 : 처리 후에 원본 내용이 변경된다. ●파괴적 처리 데이터의 처리 후 자료의 원본이 변경되는 것을 의미하는데 다음 코드들을 보면서 이해해 보자. > const array = ["사과", "딸기", "파인애플"] > array.push("바나나") 4 > array ["사과", "딸기", "파인애플", "바나나"] 이렇듯 push()메소드를 실행한 후에 arrray 배열의 값을 보면 변경된 것을 알 수 있다. ●비파괴적 .. [JavaScript] 배열의 특정 위치에 요소 추가하기 자바스크립트에서는 배열을 추가할 때 push()함수를 사용한다. > const items = ['사과', '딸기', '바나나'] > items.push('자두') > items ['사과', '딸기', '바나나', '자두'] 이처럼 배열.push(값)을 사용하면 마지막 인덱스에 값을 추가할 수 있다. 그렇다면 특정 인덱스에 값을 추가하는 방법은 무엇이 있을까? 바로 splice() 함수를 사용하는 것이다. 본래 splice는 '접합' 이라는 의미를 가지고 있어서 '자르고 붙이다'라는 뜻을 가지고 있다. 그렇기에 데이터를 자른 후 붙이거나, 추가한 뒤 붙이는 것도 가능하다. 배열.splice(인덱스, 제거할 요소의 개수) splice()함수는 저렇게 쓰임이 가능한데, 아래 예제를 보자 > const item.. [JavaScript] 짧은 조건문 짧은 조건문이란 논리연산자의 특성을 이용하여 조건문으로 사용하는 것이다. 1. 논리합 연산자를 이용한 조건문 아래의 코드를 먼저보자. true || console.log("안녕하세요.") 위에 논리합 연산자를 사용한 코드는 뒤에 어떠한 값이 들어가도 항상 참이다. 그렇다면 true 뒤에 코드는 실행이 될까? 정답은 실행되지 않는다. 자바스크립트는 참 값이 확실할 때 추가 연산을 실행하지 않는다. 즉, 논리합 연산자의 좌변이 참이면 우변을 실행하지 않는다. true || console.log("안녕하세요.") true false || console.log("안녕하세요.") 안녕하세요. undefined 위의 코드에서 위쪽 예제는 좌변이 참이므로 연산자의 우변은 실행하지 않는다. 아래쪽 예제는 좌변이 거짓이.. 이전 1 ··· 5 6 7 8 다음