Problem Solving

난이도: 레벨2(?) 소요시간: 30분 PCCP 강의 문제이다. 강의를 보았기에 쉽게 풀 수 있었다. 이번 네이버 공채 코딩테스트 이것과 비슷한 유형이였다. 시간을 분으로 통일시키고, 입출차 시간리스트, 차가 남아있는지 확인하는 리스트, 총 합친시간의 3개의 리스트가. 필요하다. 처음에는 튜플형태로 관리를 하려고 했으나 리스트로 푸는 것이 더욱 효율 적이란 것을 깨달았다. 차량의 번호가 0~9999로 정해져 있기에 10000크기의 리스트를 만들면 쉽게 풀 수 있다. import math def solution(fees, records): answer = [] carIn = [0 for _ in range(10000)] isIn = [False for _ in range(10000)] sumTime = [..
요약 a=set([]) b=set([]) 합집합: a|b 교집합: a&b 차집합: a-b 1. set(집합) set은 수학에서 이야기하는 집합과 비슷합니다. 순서가 없고, 집합안에서는 unique한 값을 가집니다. 그리고 mutable 객체입니다. REPL으로 여러가지를 확인해봅니다. 중괄호를 사용하는 것은 dictionary와 비슷하지만, key가 없습니다. 값만 존재합니다. >>> s = {3, 5, 7} >>> s {3, 5, 7} >>> type(s) set(집합) 내부 원소는 다양한 값을 함께 가질 수 있지만, mutable한 값은 가질수 없습니다. >>> s = {"1", 3, 5, (1,3)} >>> s {(1, 3), 5, 3, '1'} >>> s = {"1", 3, 5, [1,3]} Tr..
https://school.programmers.co.kr/learn/courses/30/lessons/17677# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도: 레벨2 소요시간: 50분, 100점 못맞고 84.6점 맞음, 답지를 보고 다시 품 SET자료구조를 사용하는법 https://yunzae.tistory.com/133 set 요약 a=set([]) b=set([]) 합집합: a|b 교집합: a&b 차집합: a-b 1. set(집합) set은 수학에서 이야기하는 집합과 비슷합니다. 순서가 없고, 집합안에서는 unique한 값을 가집니다. 그..
https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도: level3 소요시간: 100분 이상, 시간이 너무 걸려 정답을 확인함 처음부터 분으로 단위를 통일후 마지막에 시간으로 고쳤다면 훨씬 쉬워졌을 듯하다.! 시간관련문제 풀때는 이렇게해야겠다. 아래는 나의 답인데 빠뜨린 조건이 많은 걸 인지하고 있지만 시간이 너무 오래 걸려 중간에 멈춤. 시간을 형태그대로 풀려다보니 시간이 너무 많이 걸림 # 15:05 level3 16:30 def solu..
https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 난이도: level2 소요시간: 20분, 10분만에 구현하고 제출하였으나 빠뜨린 케이스가 있어 55점을 맞았다. 다시 수정후 제출하여 100점을 맞았다. 아래는 나의 코드이고 그 밑에는 예시 코드인데 deque의 maxlen 기능을 사용하면 코드를 줄일수 있다. #20:05 level2 from collections import deque def solution(cacheSize, cities):..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 X www.acmicpc.net 난이도: 실버1 소요시간: 실패, 90분 시간이 너무 소모되어 중간에 그만두고 정답코드를 보았다. 아래는 나의 썻다 지웟다 하다가 지금은 쓰다가 만 코드이다. #08:48 실버1 90분 실패 import sys from collections import deque string = sys.stdin.readline().rstrip() print(string) def solve(string): ..
https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 난이도: 실버1 소요시간: 40분 rank리스트(input)를 1차적으로 오름차순으로 정렬을 해준다. 그 후 서류순위 1위를 result리스트에 넣는다. rank리스트를 순환하면서 result리스트에 마지막에 들어간 사람과 면접순위를 비교한다. 만약 순위가 높다면 result리스트에 추가한다. 이전의 사람과만 비교를 하면 자동적으로 이전전의 사람들도 자동으로 체킹이 된다. 문..
https://www.acmicpc.net/problem/2343 2343번: 기타 레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경 www.acmicpc.net 난이도:실버1 소요시간:60분, 반례힌트 사용함 아래는 나의 코드인데 구현자체는 빠르게 하였다. 그런데 테스트케이스는 통과를 하는데 채점시 자꾸 틀리는 것이였다. 반례를 계속 찾아보았지만 찾지못하여 다른사람의 반례를 참고하였다. 그 이유를 찾으니 이분탐색 시작점을 동영상길이의 최대값으로 하였어야 하는데 동영상길이가 디스크보다 클수 없다는 것을 간과하고 min으로 동영상 최솟값으로 설정한게 원인이였다.....
윤재에요
'Problem Solving' 카테고리의 글 목록 (21 Page)