이 영역을 누르면 첫 페이지로 이동
쿄코코 블로그의 첫 페이지로 이동

쿄코코

페이지 맨 위로 올라가기

쿄코코

얼레벌레 생활🤯

99클럽 코테 스터디 15일차 TIL - 그리디 (백준13417 - 카드 문자열)

  • 2024.11.11 22:58
  • Python/😈 99클럽 코테 스터디 4기 TIL
    반응형

    https://www.acmicpc.net/problem/13417

    • 오늘의 학습 키워드 : 그리디
    1. 덱 초기화:첫 번째 카드는 그대로 덱(초기값 설정)
    2. 카드를 덱의 왼쪽 또는 오른쪽에 추가:
        2-1. c <= queue [0] : 새 카드가 덱의 가장 왼쪽 카드보다 작거나 같으면 덱의 왼쪽에 추가(사전순 유지 가능)
        2-2. c > queue[0]: 새 카드가 더 크면 덱의 오른쪽에 추가
    3. 덱을 문자열로 변환 후 출력 : ''.join(queue)를 사용해 문자열로 합치고 출력
    • 공부한 내용
      - 덱으로 생각했던 이유 : 양쪽 끝에서 빠르게 원소를 추가
      import sys
      from collections import deque
      
      # 테스트 케이스 수를 입력받음
      T = int(sys.stdin.readline().strip())
      
      # 각 테스트 케이스에 대해 처리
      for i in range(T):
          # 카드의 개수를 입력받음
          N = int(sys.stdin.readline().strip())
          # 카드에 적힌 알파벳 순서를 리스트로 입력받음
          cards = sys.stdin.readline().strip().split()
          
          # 첫 번째 카드를 덱에 초기값으로 추가
          queue = deque([cards[0]])
          
          # 두 번째 카드부터 차례로 처리
          for c in cards[1:]:
              # 현재 덱의 가장 왼쪽 카드(queue[0])와 비교
              # c가 더 작거나 같으면 덱의 왼쪽에 추가하여 사전순을 빠르게 유지
              if c <= queue[0]:  
                  queue.appendleft(c)
              else:
                  # c가 더 크면 덱의 오른쪽에 추가
                  queue.append(c)
          
          # 덱을 문자열로 변환하여 결과 출력
          print(''.join(queue))
    • 오늘의 회고
      • 처음에 틀린 이유는 사전순 배열이고, 문제를 잘못 이해했다.
        무조건 처음 뽑은 카드값이 무조건 가운데에서 생각하고 해야한다고 생각했는데 기준이 queue [0]이었다는것 그 풀이가 잘못되었다.
      • 오늘은 어제보다는 좀 더 나한테는 어려운 듯..? 쉬운 문제? 그게 바로 그리디인가 싶기도
      • 오늘은 짤 안 넣어야지 푸하하 🦹
    반응형

    'Python > 😈 99클럽 코테 스터디 4기 TIL' 카테고리의 다른 글

    99클럽 코테 스터디 17일차 TIL - 그리디 (백준31926 - 밤양갱)  (1) 2024.11.13
    99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)  (2) 2024.11.12
    99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)  (1) 2024.11.10
    99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다)  (0) 2024.11.09
    99클럽 코테 스터디 12일차 TIL - BFS (백준7569- 토마토)  (0) 2024.11.08

    댓글

    이 글 공유하기

    • 구독하기

      구독하기

    • 카카오톡

      카카오톡

    • 라인

      라인

    • 트위터

      트위터

    • Facebook

      Facebook

    • 카카오스토리

      카카오스토리

    • 밴드

      밴드

    • 네이버 블로그

      네이버 블로그

    • Pocket

      Pocket

    • Evernote

      Evernote

    다른 글

    • 99클럽 코테 스터디 17일차 TIL - 그리디 (백준31926 - 밤양갱)

      99클럽 코테 스터디 17일차 TIL - 그리디 (백준31926 - 밤양갱)

      2024.11.13
    • 99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)

      99클럽 코테 스터디 16일차 TIL - 그리디 (백준2847 - 게임을 만든 동준이)

      2024.11.12
    • 99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)

      99클럽 코테 스터디 14일차 TIL - 그리디 (백준14916 - 거스름돈)

      2024.11.10
    • 99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다)

      99클럽 코테 스터디 13일차 TIL - 그리디,이분탐색 (백준27961 - 고양이는 많을수록 좋다)

      2024.11.09
    다른 글 더 둘러보기

    정보

    쿄코코 블로그의 첫 페이지로 이동

    쿄코코

    • 쿄코코의 첫 페이지로 이동

    검색

    메뉴

    • 홈

    카테고리

    • 분류 전체보기 (168)
      • Python (24)
        • 😈 99클럽 코테 스터디 4기 TIL (23)
        • 궁금한거 정리 (1)
      • SQL (16)
        • HackerRank (15)
      • [백준] Python,Java로 풀기📖 (71)
        • 정렬(Sorting) (6)
        • 그리디 (5)
        • 문자열 (7)
        • 수학 (3)
        • DFS&BFS (10)
        • 구현 (4)
        • 다이나믹 (17)
        • 이분탐색 (1)
        • 자료구조 (10)
        • 최단거리 (5)
        • 인덱스트리 (0)
      • [프로그래머스]Python,Java로 풀기 (6)
        • Level 1 (4)
        • Level 2 (2)
      • Study Platform📚 (25)
        • (운영체제) - 블로그 및 강의 참고 (0)
        • 김영한👨🏻‍🏫의 스프링 부트와 JPA 실무 완전 .. (5)
        • (알고리즘)- [이코테] 이것이 코딩테스트다 정리 (10)
        • 그림으로 배우는 Http&Network Basic (10)
      • 까먹을까봐 적는 것들 (4)
      • 테스트 보고 난 후..🤔 (0)
      • kt 에이블스쿨 (18)

    최근 글

    인기 글

    댓글

    공지사항

    아카이브

    태그

    • 티스토리챌린지
    • 99클럽
    • 코딩테스트준비
    • 항해99
    • 백준
    • TiL
    • 오블완
    • 프로그래머스

    나의 외부 링크

    정보

    쿄코코의 쿄코코

    쿄코코

    쿄코코

    블로그 구독하기

    • 구독하기
    • RSS 피드

    방문자

    • 전체 방문자
    • 오늘
    • 어제

    티스토리

    • 티스토리 홈
    • 이 블로그 관리하기
    • 글쓰기
    Powered by Tistory / Kakao. © 쿄코코. Designed by Fraccino.

    티스토리툴바