쑤야의 개발 블로그

고정 헤더 영역

글 제목

메뉴 레이어

쑤야의 개발 블로그

메뉴 리스트

  • 홈
  • 태그
  • 분류 전체보기 (98)
    • Algorithm (52)
    • CS (0)
    • AI (15)
      • PyTorch (4)
      • 논문 (3)
      • Open3D (7)
      • DL (0)
    • iOS (30)
      • RxSwift (4)
      • Combine (4)
      • Swift (1)
    • ETC (1)
      • 기타 (1)

검색 레이어

쑤야의 개발 블로그

검색 영역

컨텐츠 검색

programmers

  • [프로그래머스] 방금 그 곡

    2023.12.13 by 쑤야.

  • [프로그래머스] 짝지어 제거하기

    2023.12.12 by 쑤야.

  • [프로그래머스] 다음 큰 숫자

    2023.12.11 by 쑤야.

[프로그래머스] 방금 그 곡

로직 m에 대해 악보에 포함된 #을 제거준다. 특정 문자열을 포함하는지 여부를 확인해야 하는데, ABC#과 ABC는 모두 ABC를 포함하기 때문이다. C#을 c로 변환하는 등, C와 구분될 수 있도록 변환해준다. 결과값을 담을 변수를 선언해주는데, 곡의 제목과 재생시간을 같이 담을 수 있는 자료구조를 선택한다. 시간을 분 단위로 변환하여 재생시간을 구한다. m과 마찬가지로 주어진 악보 정보에 대해 #을 제거준다. 악보 정보를 활용하여 재생 시간만큼의 전체 악보를 생성한다. 문자열 포함 여부를 통해 찾고 있는 곡이 맞는지를 확인한다. 찾고 있는 곡이 맞다면, 재생시간 비교를 한다. 재생 시간이 더 길다면 result를 갱신해준다. 코드 func solution(_ m:String, _ musicinfos:..

Algorithm 2023. 12. 13. 17:35

[프로그래머스] 짝지어 제거하기

접근 처음에 시간초과가 날 로직밖에 생각이 안났다. 문자열을 한 바퀴만 돌린다고 해도 100M이다. O(N log N)일 경우, 딱 마지노선이라 생각했기 때문에 무조건 O(N)으로 끝내야겠다고 생각했다. 문자열에서 조건이 맞으면 문자들을 제거해야 하기 때문에 빠르게 배열의 중간 원소를 제거할 수 있는 알고리즘과 자료구조가 무엇인지를 생각했다. 배열의 원소를 빠르게 제거해야 하는 경우 → 스택 활용 로직 문자열의 원소에 대해 반복문을 돌린다. 각 문자들을 스택에 저장한다. 스택의 마지막 문자와 현재 문자가 동일할 경우, 스택의 마지막 문자를 제거한다 → O(1) 반복문이 종료된 이후, 스택에 문자가 남아있는 경우 성공적으로 수행하지 못한 것. 반대로 빈 스택일 경우 성공적으로 수행할 수 있음을 의미한다. ..

Algorithm 2023. 12. 12. 14:56

[프로그래머스] 다음 큰 숫자

https://school.programmers.co.kr/learn/courses/30/lessons/12911 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 로직 1. 0번째 인덱스가 1이거나, 0이 아예 존재하지 않을 경우 0번째 인덱스에 0 삽입. '01' 이 나타나는 마지막 인덱스를 찾는다. 마지막 '01' 이후에 등장하는 1의 개수를 카운팅한다. 마지막 '01'을 '10'으로 스와이프해준다. 이후 등장하는 1은 끝자리로 몰아준다. 코드 def solution(n): binary = list(format(n, 'b')) if '0' not in ..

Algorithm 2023. 12. 11. 13:42

추가 정보

인기글

최신글

페이징

이전
1
다음
TISTORY
쑤야의 개발 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바