본문 바로가기

백준4

백준 10815 def cc(m, sang): result = [] loc = [] sang = numpy.array(sang) for a in m: loc.append(numpy.where(sang == a)[0]) loc.sort() #for b in range(1, len(loc)): # print(loc[b]) for b in range(len(sang)): if b in loc: result.append(1) else: result.append(0) print(*result) if __name__ == '__main__': warnings.filterwarnings(action='ignore', category=DeprecationWarning) cc([6, 3, 2, 10, -10], [10, 9, -5, 2.. 2023. 10. 22.
백준 1373 문제 풀이 """ n = input() n = n[::-1] cnt = 0 result = 0 for i in n: result += (int(i) * (2 ** cnt)) cnt += 1 print('{0:o}'.format(result)) """ n = int(input(), 2) print('{0:o}'.format(n)) 처음에는 문자열을 입력받아서 뒤집고, 자릿수만큼 2를 제곱해준 수를 곱하고 난 결과를 8진수로 변환했는데 시간초과가 발생했다. 검색해보니까 아주 간단했다. 파이썬에서는 2진수로 입력을 받는 기능이 있었다. 그리고 oct 함수로 변환을 했는데, 이 상태에서 그냥 print를 사용하면 아래처럼 8진수임을 알리는 문자 2개가 포함되어 나오기 때문에 format을 이용했다. 파이썬은 기.. 2022. 7. 7.
백준 2530 파이썬 시간과 관련된 문제는 나눗셈을 이용하는게 가장 좋은 방법이라고 생각하였다. 먼저 조리 예상 시간을 그대로 입력 받은 현재 시간의 초에 더해버린다. 그리고 현재 시간의 초가 60이 넘어가면 분에 60을 나눈 몫(b+=c//60)을 더하고, 60을 나눈 나머지(c=c%60)를 초에 넣어버린다. 시간은 24가 넘어가면 0부터 시작해야 되기 때문에 시간을 24로 나눈 나머지(a=a%24)로 덮어 씌워버린다. a,b,c=map(int,input().split()) d=int(input()) c+=d if c>59: b+=c//60 c=c%60 if b>59: a+=b//60 b=b%60 if a>23: a=a%24 print(a,b,c) 2022. 1. 16.
백준 5532 파이썬 5532번: 방학 숙제 (acmicpc.net) 5532번: 방학 숙제 한 줄에 하나씩 총 다섯 줄에 걸쳐 L, A, B, C, D가 주어진다. (2 ≤ L ≤ 40, 1 ≤ A, B ≤ 1000, 1 ≤ C, D ≤ 100) 항상 방학 숙제를 방학 기간내에 다 할 수 있는 경우만 입력으로 주어진다. www.acmicpc.net 국어, 수학의 과제를 각각 해결하는데 걸리는 일 수를 구하고, 둘 중 큰 값을 방학 총 일수에서 빼면 된다. 처음에는 (숙제 분량//하루 최대 페이지)+1 이라는 식을 세워서 코드를 작성했는데 이렇게 작성하면 딱 나누어 떨어지는 경우(ex: 48//6)에도 +1이 되기 때문에 안된다. 그래서 그냥 (숙제 분량/하루 최대 페이지)로 소숫점 까지 뽑아낸 다음에 math 모듈에 있는 .. 2022. 1. 16.
728x90