반응형

🗓️ 문제 설명

  • 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 반환해주세요.
  • 제한 사항
    • prices의 각 가격은 1 이상 10,000 이하인 자연수
    • prices의 길이는 2 이상 100,000 이하
  • 입출력 예시
prices return
[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]

 

💻 코드

최종 코드

 

코드 풀이

 

반응형
반응형

🗓️ 문제 설명

  • 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 몇 가지인지 알아보고자 합니다.
  • 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다.
  • 원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다.
  • 원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 반환해주세요.
  • 제한 사항
    • 3 ≤ elements의 길이 ≤ 1000
    • 1 ≤ elements의 원소 ≤ 1000
  • 입출력 예시
elements result
[7, 9, 1, 1, 4] 18

 

💻 코드

최종 코드

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  1. 2번줄 : elements의 길이를 변수 ll에 저장
  2. 3번줄 : 세트 res를 생성
  3. 5번줄 : ll의 길이만큼 반복되는 반복문 실행
  4. 6번줄 : elements의 i번째 값을 ssum에 저장
  5. 7번줄 : ssum을 2번에서 생성한 res에 추가
  6. 8번줄 : i+1에서 i+ll까지 반복되는 반복문 실행
  7. 9번줄 : ssum에 elements[j%ll]번째 값을 더함
  8. 10번줄 : 업데이트한 ssum을 res에 추가
  9. 11번줄 : res의 길이를 반환

 

 

반응형
반응형

🗓️ 문제 설명

  • 00연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) X 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 
  • 아이언 슈트는 건전지로 작동하는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다.
  • 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 반환하세요.
  • 제한 사항
    • 숫자 N : 1 이상 10억 이하의 자연수
    • 숫자 K : 1 이상의 자연수
  • 입출력 예시
N result
5 2
6 2
5000 5

 

💻 코드

최종 코드

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  • 이진법의 경우, 홀수번째에 1이 있기 때문에 주어진 n을 이진법으로 변경한 뒤에 '1'의 갯수를 세면 배터리의 최소 사용량을 확인할 수 있습니다.

 

 

반응형
반응형

🗓️ 문제 설명

  • 정수 x가 주어졌을 때, x가 회문이라면 true를 회문이 아니라면 false를 반환해주세요.
  • 제한 사항
    • -2³¹ ≤ x ≤ 2³¹ - 1
  • 입출력 예시
x result
121 True
-121 False
10 False

 

💻 코드

최종 코드

 

코드 풀이

 

 

반응형
반응형

🗓️ 문제 설명

  • 정수 배열 nums와 정수 target이 주어졌을 때, target과 nums 내의 두 숫자가 같아지는 숫자의 인덱스를 반환해주세요.
  • 제한 사항
    • 동일한 요소를 두 번 사용할 수 없음
    • 각 입력에 정확히 하나의 솔루션이 있음
  • 입출력 예시
nums target result
[2, 7, 11, 15] 9 [0, 1]
[3, 2, 4] 6 [1, 2]
[3, 3] 6 [0, 1]

 

💻 코드

최종 코드

 

코드 풀이

 

다른 사람 풀이

더보기

풀이 1번

  1. d = {} : 숫자와 인덱스를 담을 딕셔너리 생성
  2. for i, j in enumerate(nums) : nums에서 인덱스와 값을 꺼내는 반복문 실행
  3. r = target - j : target에서 리스트 nums에서 꺼낸 값을 뺀 후 저장
  4. if r in d : return [d[r], i] : 만약 3번에서 저장한 r이 1번에서 생성한 딕셔너리 d에 있다면 r의 인덱스와 현재 값의 인덱스를 반환
  5. d[j] = i : 딕셔너리 d에 값과 인덱스를 key-value 형식으로 저장

 

반응형

+ Recent posts