분류 전체보기

1. B를 A로 만들어보자! 나는 B->A로 만드는 방법을 떠올렸다 B에서 2로 나눠지면 나누고, B의 맨 마지막 숫자가 1이면 1을 떼어주고, 2로 나눠지지 않고 마지막 숫자 (10으로 나눴을 때 나머지)가 1이 아니면 -1 을 리턴 + 그런데 여기서, B는 항상 A보다 커야한다 ! 즉 B < A 인 값이 나와도 -1을 리턴한다 a, b = map(int, input().split()) count = 1 while True: if b == a: break elif (b % 2 != 0 and b%10 != 1) or (b < a): count = -1 break else: if b%10 == 1: b //= 10 count += 1 else: b //= 2 count += 1 print(count) 2..
enumerate(iterable한 객체, start=0) enumerate는 파이썬 내장함수로, 반복문에서 사용되어 인덱스와 iterable한 객체의 데이터가 묶인 튜플을 반환한다. 여기서 iterable의 의미: member를 하나씩 차례로 반환 가능한 object를 말한다. iterable한 데이터 타입의 예로는, list, str, tuple이 있다. enumerate 의 파라미터는 iterable한 원소와 index이다. index는 생략가능하며, 지정해주지 않을 경우에 0부터 시작한다. 다음과 같이 for문의 인자를 하나만 설정해주면, 결과값으로 튜플이 반환된다. data = ['A', 'B', 'C'] # iterable한 list for i in enumerate(data): print(i..
·Algorithm (PS)
Question 1 def maxCost(cost, labels, dailyCount): # Write your code here total = 0 result = [] count = 0 # count the legal laptop n = len(cost) for i in range(n): if labels[i] == "legal": count += 1 total += cost[i] if count == dailyCount: result.append(total) total = 0 count = 0 else: total += cost[i] if len(result) == 0: return 0 else: return max(result) Question 2 def mostBalancedPartition(pa..
1. 데이터 모델 데이터모델 : 현실세계의 정보를 인간과 컴퓨터가 이해할 수 있도록 추상화하여 표현한 모델이다. 데이터 모델에 표시해야 할 요소 : [ 논리적 데이터 구조, 연산, 제약조건 ] 2. 데이터 모델 절차 1. 개념적 데이터 모델 현실 세계에 대한 인식을 추상적, 개념적으로 표현하여 개념적 구조를 도출하는 데이터 모델 트랜잭션 모델링, View 통합 방법 및 Attribute 합성 고려 주요 산출물로는 개체관계 다이어그램(ERD)이 있음 2. 논리적 데이터 모델 업무의 모습을 모델링 표기법으로 형상화하여 사람이 이해하기 쉽게 표현한 데이터 모델 논리적 데이터 모델을 통해 -> 관계 데이터 모델(자유로운 관계 표현가능) / 계층데이터 모델(1:N관계만 허용) / 네트워크 데이터 모델 (Graph..
·Algorithm (PS)
import heapq def solution(food_times, k): if sum(food_times)
·Algorithm (PS)
https://www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net DFS로 풀이했다. 나 근데 가로 세로가 아직 헷갈린다;; 아이디어는 다음과 같다. n = 7, m = 5 사이즈의 2차원 배열 (= 그래프) 가 있다고 생각하면, 각 칸을 모두 0으로 초기화 시킨다 입력되는 직사각형 부분에 해당하는 칸들은 2차원 배열에서 1로 표시한다. 1은 이미 방문된 노드라는 의미이다. 그후 전체 2차원 배열을 이중 for문으로 하나씩 칸의 값을 체크하면..
·Algorithm (PS)
https://www.acmicpc.net/problem/9019 9019번: DSLR 네 개의 명령어 D, S, L, R 을 이용하는 간단한 계산기가 있다. 이 계산기에는 레지스터가 하나 있는데, 이 레지스터에는 0 이상 10,000 미만의 십진수를 저장할 수 있다. 각 명령어는 이 레지스터에 www.acmicpc.net 제한시간이 6초길래 시간 넉넉한줄 알았는데 시간 초과가 난 문제 ㅋㅋㅋ from collections import deque def D(n): tmp = n*2 if tmp > 9999: tmp %= 10000 return tmp def S(n): tmp = n if tmp == 0: return 9999 tmp -= 1 return tmp def L(n): front = n%1000..
·Algorithm (PS)
https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net steps 는 나이트가 이동할 수 있는 경우의 수를 배열로 표현했다. 핵심은 나이트가 이동할 때마다 그래프 상에서 이번 이동하면 몇번째인지 기록해두는 것이다 바로바로 이렇게 ! graph[nx][ny] = graph[x][y] + 1 graph[x][y]에는 x,y 위치로 오기까지의 step 횟수가 저장되어 있을것이므로 이 값에 1을 더한것이 새로운 위치인 nx, ny 까지 이동하는데 걸린 횟수이다..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (69 Page)