[프로그래머스] - 주식가격(C++)
2022. 7. 9. 12:26
Problem Solving/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 ..
[프로그래머스] - 기능개발(C++)
2022. 7. 9. 12:04
Problem Solving/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도..
[프로그래머스] - 프린터(C++)
2022. 7. 9. 11:37
Problem Solving/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다. 2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다. 3. 그렇지 않으면 J를 인쇄합..
[프로그래머스] - 다리를 지나는 트럭(C++)
2022. 7. 8. 23:00
Problem Solving/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면..
[프로그래머스] - 괄호 변환(C++)
2022. 7. 8. 21:39
Problem Solving/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr [문제 설명] 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 소스 코드 내 작성된 괄호가 개수는 맞지만 짝이 맞지 않은 형태로 작성되어 오류가 나는 것을 알게 되었습니다. 수정해야 할 소스 파일이 너무 많아서 고민하던 "콘"은 소스 코드에 작성된 모든 괄호를 뽑아서 올바른 순서대로 배치된 괄호 문자열을 알려주는 프로그램을 다음과 같이 개발하려고 ..
Python Coding Style을 정하자, 두번째!
2021. 11. 12. 11:31
Development/Python
Python Coding Style을 정하자, 두번째! 코딩 스타일을 정하고 있는 중이다. 지난 번에는 인덴트와 네이밍 컨벤션 종류에 대해 알아보고 어떤것을 사용할지 결정했었다. 이번에 알아 보고 사용할 것은 타입힌트, 리스트 컴프리헨션 이다. 타입힌트 타입힌트 : 파이썬은 동적 타이핑 언어이고, 빠르게 정의하여 사용할수 있다는 장점이 있지만, 규모가 커지면 가독성이 떨어지며, 인자로 무엇을 넘겨야 할지 알수 없는 상황이 생겨난다. 이러한 상황에서 가독성을 높여주기 위해 사용 되는 것이 타입 힌트다. 더 설명하기 보다, 예제를 보여주는것이 이해하기 빠를것 같다. 타입힌트 예) def fn(a: int) -> bool: # a라는 input은 int이고, 반환되는 값은 bool 자료형이라는것을 명시 if ..
Python Coding Style을 정하자, 첫번째 !
2021. 11. 5. 16:44
Development/Python
Python Coding Style을 정하자! 파이썬으로 코딩을 하기 전에 코드를 작성하는 규칙에 대해 정해야 한다. 책을 읽다가 좋은 부분이 보여 참고하여 블로그 글을 작성하기로 했다. 인덴트(들여쓰기) 인덴트 : 파이썬은 C++과 다르게 {} 중괄호로 구분하지 않고, 인덴트로 구분하게 된다. : if, for나, class, def와 같은 코드 블럭을 작성하면서 나오는 :의 아랫 줄은 반드시 인덴트를 사용해야 한다. 인덴트는 탭이나 칸을 띄어쓰는 방식 등 여러가지 방식이 있지만, 같은 코드블럭 안에서는 동일한 인덴트를 사용해야 한다. 그렇지 않다면 IndentationError: unexpected indent 에러가 발생한다. 하지만, 나는 여기서 파이썬 공식 가이드인 PEP(Python Enhan..