프로그래머스
-
[프로그래머스] 실패율알고리즘 2023. 4. 6. 17:35
1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 접근 1. 실패율 = ( 도달 O & 클리어 X ) / ( 도달 O ) 2. 하나의 스테이지에 도달한 모든 유저가 통과를 했을 경우 즉, 특정 스테이지의 실패율이 0 일 가능성을 배제하면 안된다 3. len(stages) 가 총 유저 수라는 사실을 잊으면 안된다. 4. 나는 실패율 조정시, 분모의 값 부분에서 혼동이 있었는데 len(stages) 을 복사해서 cnt 값을 매 스테..
-
[프로그래머스] [3차] n진수 게임알고리즘 2023. 3. 28. 13:31
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. 문제를 보면서 떠오른 생각 " n 진법으로 p + m * idx 자리에 있는 것을 말하되, t개를 말하면 되겠다 " 2. 10진수 -> n진수로 변경하는 함수를 만들어 준다 3. 처음 p의 자리부터 말하면 되는데, 최대 p + m * t 개까지 변환을 시켜준다 4. idx의 값을 조정하면서 ans에 넣어주면 되는데 리스트의 시작은 0임을 잊지말자 ( res[p+idx-1]에서 -1..
-
[프로그래머스] LV2. 1차 캐시알고리즘 2023. 3. 27. 14:40
문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. LRU 는 가장 오랫동안 사용하지 않은 페이지를 교체하는 알고리즘이다. 2. stack을 사용해서 해결하면 되는데 주의할점이 2가지가 있었다. ( 주의할점 1번. stack에 포커싱하다보면 현재 값이 stack에 들어있을때 아무런 생각없이 stack.pop(0)을 해주는 경우가 생길 수 있다. 이때는 stack.pop(stack.index(i)) 를 해줘야 한다!! -> 20번째줄..
-
[프로그래머스] LV2. 주차요금 계산알고리즘 2023. 3. 20. 14:26
문제 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. 들어가고 나오는 순서가 중요하지 않으니 stack,queue 말고 dict으로 풀면 된다 생각함 2. status를 두어서 후에 같은 차량이 들어와도 상관없게 함 3. status을 기준으로 누적 시간을 구함 4. ceil 대신에 시간이 더 있으면 한번더 추가요금을 내는걸로 계산함 풀이 from collections import defaultdict def solution(fees..
-
[프로그래머스] LV1. 모의고사알고리즘 2023. 3. 13. 16:29
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. 처음에는 dict를 쓸 생각을 못했고,first, second, third 이런식의 변수에 +=1 을 하면서 사용하려함 2. 마지막에 가니까 first = 1 , second = 2 이런식으로 key 값이 필요하다는 생각에 dict를 사용시작함 3. 마지막에 최댓값이랑 비교하면서 최댓값이면 새로운 리스트에 값 넣고 최댓값이랑 같은 값이면 res.append 했음 풀이 def sol..
-
[프로그래머스] LV1. 성격 유형 검사하기알고리즘 2023. 3. 13. 15:59
문제 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. 문제를 읽어보니 dict 를 써야할거라는 확신이 듦 2. 8가지 중 2가지씩 짝을 지어갈것 3. choice값 중 4점을 기점으로 각 점수를 key에 맞는 value 값에 증가 시켜주기 4. 2가지 유형을 하나의 세트로 볼때 세트 별 점수가 같으면 사전순으로 넣어주기에 저런 중복되는 코드가 나옴 풀이 1차 코드 -> 성공은 하는데 중복코드가 너무 많음 ( 나중에 기회가 되면 줄여..
-
[프로그래머스] LV1. 둘만의 암호알고리즘 2023. 3. 13. 14:52
문제 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 1. index에 초점을 맞춰보자!!! ( 무한 반복하면서 skip에 있는지 확인해야 한다 ) -> 여기서 무한 반복은 뭘까? 나는 while True: 문을 말한거야~ 2. 소문자 , 숫자 나오면 ord(), chr() 을 한번씩 생각해보는건 어때?? 은근 도움 된다.. 3. skip 에 있는 문자들을 아스키 코드로 바꿔 놓고, 무한 반복하면서 skip에 들어있지 않을때만 index..
-
[프로그래머스] LV1 햄버거 만들기알고리즘 2023. 3. 9. 17:09
문제 https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 - 처음에는 ingredient에 대해서 for문 돌면서 1이 나오면 그때 index를 체크하고 그거 부터 뒤로 3개를 체크하면서 검사를 하려고 했는데, 구현하기에 너무 복잡했다 - 구글링을 해버렸다... 무튼 스택의 기능을 쓰기에 너무 좋은 문제였다...stack을 떠올리지 못한 나를 반성하자 풀이 #1231 되면 ans += 1 def solution(ingredient): ans..