SWEA
[python] SWEA - 4047. 영준이의 카드 카운팅
🤔문제 해결 D3 | 문자열 💨 카드의 종류를 딕셔너리로 만들고 값을 리스트로 한다. 💨 해당 카드를 보유하고 있으면 아웃 💨 해당 카드가 없으면 추가한다. 💨 마지막에 필요한 카드의 수만큼 값을 출력한다. 💻소스 코드 for tc in range(int(input())): cards = input() my_card = { 'S': [], 'D': [], 'H': [], 'C': [], } print(f'#{tc + 1}', end=' ') for i in range(0, len(cards), 3): # 3씩 건너 뛴다. c = cards[i] n = cards[i + 1:i + 3] if n not in my_card[c]: # 해당 카드를 가지고 있지 않은 경우 -> 카드 추가 my_card[c].a..
[python] SWEA - 6692. 다솔이의 월급 상자
🤔문제 해결 D3 | ... 💨 왜 D3인지 모르겠지만, 아마 소수점 컨트롤 때문에 D3 인가 싶기도 하다. 💨 나의 경우 p 와 x 를 그냥 float 으로 바꿨는데 계속 오답이 났다. 💨 p 는 float, x 는 int 로 하니깐 바로 통과 💻소스 코드 for tc in range(int(input())): N = int(input()) avg = 0 for _ in range(N): tmp = input().split() p = float(tmp[0]) x = int(tmp[1]) avg += p * x # print(f'#{tc + 1} {total:6f}') print(f'#{tc + 1} {avg:.6f}') 📕문제 확인 출처: SW Expert Academy SW Expert Academy..
[python] SWEA - 10570. 제곱 팰린드롬 수
🤔문제 해결 lv3 | 문자열 💨 제곱수이므로 제곱근이 정수일 때만 계산한다. 💨 정수와 그 제곱근을 문자로 만들어 뒤집고, 뒤집기전과 같은지 확인한다. 💻소스 코드 for tc in range(int(input())): A, B = map(int, input().split()) cnt = 0 for i in range(A, B + 1): C = i ** (1 / 2) if C == int(C): # 제곱근이 정수일 때 i = str(i) C = str(int(C)) if i == i[::-1] and C == C[::-1]: cnt += 1 print(f'#{tc + 1} {cnt}') 📕문제 확인 출처: SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움..
[python] SWEA - 10726. 이진수 표현
🤔문제 해결 lv3 | 문자열, 진수 💨 bin(숫자) 를 이용하면 간단하게 숫자를 2진수로 바꿀 수 있다. (하지만 0b가 앞에 붙기 때문에 떼어줘야함) 💨 나머지는 뒤에서 N개만큼 가져와서 판단 ( N개가 안된다면 아웃, 0이 포함되어있다면 아웃) 💻소스 코드 for tc in range(int(input())): N, number = map(int, input().split()) bin_number = list(map(str, str(bin(number))[2:]))[-N:] print(f'#{tc + 1}', end=' ') if len(bin_number) < N: print('OFF') else: if '0' in bin_number: print('OFF') else: print('ON') 📕..
[python] SWEA - 10761. 신뢰
🤔문제 해결 lv3 | 시뮬레이션 💨 예를 들어 B가 움직이면서 버튼을 누를 동안 O는 움직일 순 있어도 버튼을 누를 순 없다. (반대도 마찬가지) 💨 버튼을 누르는 순서가 있기 때문! 💨 하지만 움직일 순 있기 때문에 미리 버튼으로 이동해있어도 된다. 💨 클래스 한번 써보고 싶어서 써봄. 굳이 쓸 필요는 없다. (클래스도 반만쓴거라) 💻소스 코드 class Robot: def __init__(self): self.location = 1 self.time = 0 def status(self): print(f'위치:{self.location}, 시간:{self.time}') def operate(robot, button): # 현재위치와 눌러야 되는 버튼 global time # 시간이 같으면 로봇이동 i..
[python] SWEA - 10912. 외로운 문자
🤔문제 해결 lv3 | 문자열 💨 붙어있는 문자끼리 삭제하는 것이 아니라, 어디에 있던 두 문자를 찍지으면 된다. 💻소스 코드 for tc in range(int(input())): word = list(input()) word.sort() stack = [] for w in word: if stack and stack[-1] == w: stack.pop() else: stack.append(w) if stack: print(f'#{tc + 1} {"".join(stack)}') else: print(f'#{tc + 1} Good') 📕문제 확인 출처: SW Expert Academy SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexper..