5185. [파이썬 S/W 문제해결 구현] 1일차 - 이진수

2025. 5. 9. 12:21·coding test/SW Expert Academy

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWTtiyIqd_wDFAVT

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

16진수를 2진수로 바꾸는 연산 자체는 쉬웠지만 16진수를 리스트로 가져오면 숫자와 문자형이 섞이는데 섞인 숫자와 문자형을 어떻게 따로 인식하고 가져오는지가 문제였다.

파이썬에는 문자열이 숫자로 이루어졌는지 확인하는 isdigit을 통해 쉽게 확인할 수 있다.

 

사용법
1) str.isdigit("문자열")
2) "문자열".isdigit()

 

def quater(num):
    quaternary=[]
    for _ in range(4):
        p=num%2 #나머지
        num=num//2 #몫
        quaternary.append(str(p))
     
    quaternary.reverse()
    return ''.join(quaternary)
 
T=int(input()) #테케
for t in range(1,T+1):
    N,hex_num=input().split()
    result=''
 
    for n in hex_num:
        if n.isdigit(): #정수형이라면
            result+=quater(int(n))
        else: #문자형이라면
            n=ord(n)-ord('A')+10
            result+=quater(n)
 
    print("#{} {}".format(t,result))

 

이렇게 풀이를 하고 통과하였긴한데 더 간단한 방법이 있는 것을 보았다.

T=int(input()) #테케
for t in range(1,T+1):
    N,hex_str=input().split()
    result=''

    for ch in hex_str:
    	#bin은 0b를 숫자 앞에 붙이므로 [2:] 출력
        #zfill()은 문자열 형태에서 지정한 길이만큼 0을 채움
        #int(ch, 16)->'A' 같은 16진수 문자를 10진수로 변환
        result+=bin(int(ch,16))[2:].zfill(4)
        
    print("#{} {}".format(t,result))

 

'coding test > SW Expert Academy' 카테고리의 다른 글

[Python] 1855번 영준이의 진짜 BFS  (1) 2025.12.14
1220. [S/W 문제해결 기본] 5일차 - Magnetic  (0) 2025.05.23
4861. [파이썬 S/W 문제해결 기본] 3일차 - 회문  (0) 2025.05.20
1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드  (0) 2025.05.19
4881. [파이썬 S/W 문제해결 기본] 5일차 - 배열 최소 합  (0) 2025.05.12
'coding test/SW Expert Academy' 카테고리의 다른 글
  • 1220. [S/W 문제해결 기본] 5일차 - Magnetic
  • 4861. [파이썬 S/W 문제해결 기본] 3일차 - 회문
  • 1240. [S/W 문제해결 응용] 1일차 - 단순 2진 암호코드
  • 4881. [파이썬 S/W 문제해결 기본] 5일차 - 배열 최소 합
wish404
wish404
자동 로그
  • wish404
    wish-log
    wish404
    • 홈
    • 태그
    • 방명록
    • github
    • 분류 전체보기 (75)
      • log (8)
        • 블로그 관리 (5)
        • 에러 모음 (2)
      • coding test (47)
        • Algorithm (4)
        • Baekjoon (34)
        • SW Expert Academy (6)
        • etc (3)
      • 프로그래밍 언어 (7)
        • JAVA (7)
      • 데이터 엔지니어링 (5)
        • Kafka (0)
        • Spark (4)
        • Airflow (1)
        • Elasticsearch (0)
      • 머신러닝&딥러닝 (3)
        • Kaggle 스터디 (3)
        • 논문 리뷰 (0)
        • MLOps (0)
      • 신입 개발자가 되기까지 (5)
        • 취준일기 (1)
        • SSAFY (2)
        • 프로젝트 (1)
        • CS 공부 (1)
  • 인기 글

  • 태그

    다익스트라
    그리디
    heapq
    dfs
    전위순회
    틀린문제
    dp
    후위순회
    Dijkstra
    싸피
    dijk
    플로이드워샬
    SSAFY
    중위순회
    최단 경로
    BFS
    그리디 알고리즘
    복습
    복습해야지
    벨만포드
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
wish404
5185. [파이썬 S/W 문제해결 구현] 1일차 - 이진수
상단으로

티스토리툴바