본문 바로가기

개발/SWEA (D2) 문제 풀이8

SW Expert Academy - 1946. 간단한 압축 풀기(D2) SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 입력되는 각 알파벳 수를 통해 문자열들을 출력하는 문제라고 생각한다. 주어지는 알파벳이 대문자 A - Z이고, 최대 개수는 20개이다. 또한 친절하게 문자열의 길이를 10으로 정해줬다. 각 첫번째 줄은 테스트 케이스의 번호, 그리고 그다음 줄은 입력되는 알파벳 종류의 수로 보인다. 입력값을 먼저 세팅해보자. T = int(input()) for i in range(1,T+1): N = int(input()) print('#{}'.format(i)) 이때 입력값이 (알파벳 숫자) 형식으로 N개 들어오기 때문에, 새로운 반복문으로 입력을 받아야 한다. T = int(.. 2022. 11. 14.
SW Expert Academy - 1945. 간단한 소인수분해(D2) SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 코딩 테스트를 준비한다면 단골로 등장하는 소인수분해이다. 이번에도 테스트 케이스의 수 T가 주어지고, 각 테스트 케이스마다 주어지는 N에 대해서 2, 3, 5, 7,11에 대한 소인수분해를 하는 것이 문제이다. 먼저 입력값 세팅을 하고 시작해보자. T = int(input()) for i in range(1,T+1): N = input() print("#{} {}".format(i,N)) 소인수분해라는 것이 결국 나누기를 활용하면 좋은데, 예를 들어서 N을 2로 최대한 나눠보고 그 횟수를 카운트 한 것이 2의 a승에 해당한다. 또한 2로 단 한 번이라도 나눠지지 .. 2022. 11. 13.
SW Expert Academy - 1940. 가랏! RC카!(D2) SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 물리적인 접근을 해야 하는 문제인지 의문이 들었다. 우선 입출력을 세팅하는 것이 국룰이다. T = int(input()) for i in range(1,T+1): N = int(input()) T는 테스트 케이스의 수를 의미하고 N은 입력으로 주어지는 command의 수를 의미한다. 또한 1초에 1개의 command를 실행하기 때문에 총시간을 의미하기도 한다. 이때 0은 현재 속도 유지, 1은 가속, 2는 감속을 의미하고 모두 양의 정수로 주어진다고 한다. 초기 속도는 0으로 설정하는 것도 잊지말자. 따라서 초기속도와 위치를 나타내는 변수를 선언할 필요가 있다. .. 2022. 11. 13.
SW Expert Academy - 1928. Base64 Decoder(D2) SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제를 보자마자 짜증이 난다. MSB 오랜만이다. 단순하게 생각하면 가장 왼쪽에 있는 비트라고 생각하면 될듯하다. 주어진 문제에서는 총 24bit짜리 버퍼에 왼쪽부터 한 byte씩 총 3byte의 문자를 넣는다고 한다. 1 byte = 8bit 이후 MSB부터 6bit씩 잘라서 그 값을 읽고, 주어진 표에 따라서 Encoding 한다. 즉 주어지는 입력값을 암호라고 생각하고 이를 해독한다고 생각하면 이해하기 쉬워 보인다. 빠르게 입력값을 세팅해보자. T = int(input()) for i in range(1,T+1): S = input() 정상적으로 S에 문자열.. 2022. 11. 12.