Python6 2 - 2) 8진수 계산기 8진수 계산기를 완성하고, N개의 10진수 정수가 주어졌을 때, 8진수 계산기의 계산 결과를 출력하시오. 10진수 숫자를 다른 진수의 문자열로 변환 2진수 : bin() → '0b~' 8진수 : oct() → '0o~' 16진수 : hex() → '0x~' 📗 답안 import sys input = sys.stdin.readline N = int(input()) int_num = list(map(int, intput().split(' '))) # 출력 예시에서 8진수 앞의 문자가 빠졌기 때문에 슬라이싱을 해줌 print(oct(sum(int_num))[2:]) 2023. 9. 1. 2 - 1) 최장 맨해튼 거리 네 개의 정수가 주어질 때, 두 개의 정수를 임의로 짝을 지어 좌표로 나타내고, 두 좌표의 최장 맨해튼 거리(|x₁-x₂|+|y₁-y₂|)를 구하시오 문제 분석 맨해튼 거리 택시 거리라고도 한다. 가로와 세로 방향으로만 이동 가능할 때, 두 좌표 사이의 최단 거리. |x₁-x₂|+|y₁-y₂| → 좌표평면의 개념 완전 탐색 주어지는 4개로 좌표의 수가 적다 ⇒ 완전 탐색을 이용할 수 있다 나는 수학적 접근을 통한 코드와 비슷하게 코드를 짰는데, 해설에서는 완전탐색을 이용한 답안도 제공하고 있었다. for문과 if문을 활용하여 코딩을 할 수 있는데 어렵진 않았지만, 코드가 좀 복잡해져 수학접 접근을 통해 문제를 푸는 방법이 더 좋은 것 같다는 생각이 들었다. 더보기 📗 나중에 참고할 수도 있으므로 남겨놓는.. 2023. 8. 31. 1 - 3) 큰 수식 찾기 정수와 더하기, 빼기, 곱하기 기호로 이루어진 두개의 수식 A, B가 주어질 때, 각 수식을 연산자 우선순위에 따라 계산했을 때, 두 수식의 계산 결과 중 더 큰 값을 출력하시오. (두 수식의 계산 결과는 항상 다름이 보장된다.) 수식은 다음 조건들을 만족함 수식의 첫 문자, 마지막 문자는 항상 숫자 수의 맨 첫 문자는 0이 아님 연산자가 최소 1개 이상 포함됨 연산자가 붙어서 등장하지 않음 수식에 포함된 정수와 수식의 계산 결과는 모두 절댓값으로 10¹⁴ 이하임 📗 답안 A, B = input().split() print(max(eval(A),eval(B))) 수식인 문자열의 결과를 바로 반환해 주는 함수인 'eval()' 을 사용하여 풀어야 하는 문제들은 가끔 접해봐서 문제 자체를 푸는 것이 어렵진 .. 2023. 8. 29. 1 - 2) 단어 필터 단어 필터는 메시지 E에 단어 S가 포함되어 있다면, 이를 가장 앞에서 등장하는 단어 S부터 순서대로 제거한 후 안전한 메시지를 구름이에게 전달한다. 이 때 대소문자도 모두 동일해야 지워야 할 단어라고 판단하며, 메시지 E에 단어 S가 존재하지 않을 때까지 반복해서 필터링을 적용한다. 단어 필터를 만들고, 단어 필터를 적용하여 전달받은 메세지 내용을 출력하시오. 문제 분석 단어 S가 동시에 여러 개 있다면, 앞에서 부터 순서대로 제거됨 메세지 E에 단어 S가 존재하지 않을 때까지 반복해서 제거함 map(Function, iterable Data) 반복 가능한 자료형의 모든 요소에 함수를 적용한 결과를 반환한 map 객체를 반환 # 정수 a에 1을 더하는 함수 def add(a): return a+1 ar.. 2023. 8. 29. 1 - 1) 대소문자 바꾸기 input( ) 입력 받은 문자열을 문자 단위로 하나씩 읽어들이기 때문에 느림 Python의 기본 입출력 함수는 느리기 때문에 Python으로 입력이 많은 문제를 풀어야 할 때는, sys.stdin.readline() 함수를 이용한다. import sys input = sys.stdin.readline input() 이때 이 입력 방법은 개행 문자(줄바꿈 문자)를 포함하여 문자열 자료형으로 변수에 포함하여 저장된다. 따라서 input().rstrip()과 같이 사용한다. str.swapcase() 문자열의 현재 문자가 소문자면 대문자로, 대문자면 소문자로 변환하는 메소드 'str.islower()', 'str.isupper()'을 통해 현재 문자가 소문자인지, 대문자인지를 확인하고 'str.lower().. 2023. 8. 29. programmers 코딩 기초) 문자열 섞기 >> 길이가 같은 두 문자열의 앞 문자부터 서로 번갈아가며 한 번씩 등장하는 문자열을 반환하기 입력: str1 = "abab" , str2 = "cdcd" 출력: "acbdacbd" ✏️ 나의 답안 def solution(str1, str2): answer = '' for i in range(len(str1)): answer += str1[i]+str2[i] return answer 📖 다른 답안 참고 후 답안_ join(), 리스트 컴프리헨션 활용 def solution(str1, str2): answer = ''.join([str1[i] + str2[i] for i in range(len(str1))]) return answer - join() : 리스트, 튜플, 세트 등을 문자열로 합치는데 사용, .. 2023. 7. 26. 이전 1 다음