T = int(input()) for tc in range(1,T+1): N, H = input().split() b = format(int(H, 16), 'b') #16진수를 10진수로 바꾼것을 다시 2진수로 바꿔준다. print("#{}".format(tc), end=' ') cnt = int(N)*4 - len(b) #2진수는 4자리로 구성. 앞에 0 채워줌 for i in range(cnt): print(0,end='') print(b) 1. int(H, 16) 으로 하면 16진수가 10진수로 바뀐다. 2. b = format(10진수 숫자, 'b') 하면 2진수로 바뀐다.
oper = ['+','-','*','/'] def cal(node): #후위순회 global result if not tree[node][0] in oper: #부모노드가 숫자이면 return tree[node][0] else: #부모노드가 연산자이면 left = cal(tree[node][1]) right = cal(tree[node][2]) if tree[node][0] == '+': result = left + right elif tree[node][0] == '-': result = left - right elif tree[node][0] == '*': result = left * right elif tree[node][0] == '/': result = left // right return r..
사실 구글링 했다! 답이 n-1이길래 생각해본 결과 그림을 그려보니까 첫번째 케이스일 때 이러한 그래프가 나온다. 세 원을 다 탐색 하려면 무조건 2개 선분을 지나야한다. 두번 째 케이스 제일 아래쪽 1번부터 5번까지 돌아야하는데 그러면 그려진 선분을 다 지나야한다. 그러면 꼭지점은 5개인데 그 사이에 존재하는 선분은 1개가 더 적을 것이다. (두 점이 있어야 한 선을 만드는 것의 원리) 그래서 답은 모든 나라 N개 - 1 T = int(input()) for tc in range(T): N, M = map(int, input().split()) for i in range(M): a, b = map(int, input().split()) print(N-1)
4월 9일! 어제 밋업이 진행되었다! 입학할 때부터 밋업이라는게 있다고 들어서 너무 재밌을거 같다고 생각했는데, 프로님께서 갑자기 전화가 와서 웹엑스 방청을 해줄 수 있냐구 연락이 오셨다. 그래서 비대면 방청객까지 되어 싸피 밋업을 200% 즐길 수 있었다!! 완벽한 밋업을 위해 리허설도 여러번 했다. 리액션도 많이 하려고 노력했다!! 내가 맨 위에 화면에 나와서 웃기기도하고 날 알아보는 사람들이 연락이 왔다.ㅋㅋㅋ MC를 맡아주셨던 박슬기님! 너무 입담이 좋으셨다. 정말 이래서 계속 싸피가 찾는 이유가 있다 싶었다 ㅋㅋ 슬기님의 진행때문에 계속 웃는 얼굴로 참여할 수 있었고 퀴즈를 맞춰서 상품도 받았다!! 1부에는 정신건강을 위한 마음관리 전문가 윤대현 교수님 강연이 있었다. 마음을 잘 보살피고 번아웃..
트리 문제를 이번 주 부터 시작 했는데 좀 어려웠다!! 이 문제는 리프노드에 숫자 데이터가 들어오고 각 부모 노드는 왼쪽자식 + 오른쪽 자식이다. 그래서 나는 반복문을 맨 끝에서 부터 돌았다. 2씩 줄게해서 부모 노드당 두개의 자식을 탐색하게 했다. 그림을 그려서 보니 인덱스 i라는 부모 노드가 존재하면 왼쪽 자식의 인덱스는 i*2이고 오른쪽 자식은 i * 2+1이다. 그래서 처음에 생각한 방법은 tree[i//2] = tree[i] + tree[i+1]이다. 그런데 인덱스 에러가 났다. 그림을 그려보니 노드의 개수가 짝수이면 맨 마지막에 왼쪽 노드만 존재하는 관계가 존재한다. 그래서 N이 짝수이면 맨 뒤 노드를 0이라는 데이터를 넣는 방식으로 내가 만들어서 넣었다. 그렇게 하면 부모= 왼 + 0 이 되..
1. 듣지 못한 명단을 리스트로 받고 2. 보지 못한 명단도 리스트로 받는다 3. 두가지 리스트를 set으로 집합으로 만들어준다음 교집합을(&) 구한 뒤에 다시 list로 만들어준다. 4. 듣도보도 못한 리스트를 사전순으로 sort해주고 출력 처음에 그냥 리스트 in을 사용해서 처리해줬는데 시간초과가 떴다. 리스트를 다 보아야해서 시간이 오래걸리는 것 같다. :( N, M =map(int,input().split()) no_hear = [] no_see = [] no_list = [] for i in range(N): a = input() no_hear.append(a) for i in range(M): b = input() no_see.append(b) #### in으로 했더니 시간초과!!!!!!!!!..
트리 -비선형구조 -상위 원소와 하위 원소로 이루어진 트리(나무) 모양의 구조 -1:N 관계를 가진다. - 최상위 노드를 루트라고 한다. -가장 마지막에 존재하는 루트를 단말노드(잎노드)라고 한다. 차수 : 노드에 연결된 자식 노드의 수 높이 : 루트노드에서 노드까지의 간선의 수 이진트리 : 모든 노드들이 최대 2개의 서브트리를 갖는 트리. 방향에 따라 왼쪽 자식노드/오른쪽 자식노드라고 부른다. 높이가 h이면 가질 수 있는 노드의 최소 개수는 h+1개 이며 최대 개수는 2^h+1 -1 개 특별한 이진트리 - 포화 이진트리 : 모든 노드에 포화 상태로 차 있는 이진 트리 자식 노드가 모두다 2개씩 있는 것이다.(마지막 레벨까지 꽉 참) -완전 이진 트리: 포화 이진 트리의 노드번호를 따라서 1번부터 n번까..
#6 9 N = list(map(int, input())) cnt_list = [0] * 10 #배열의 인덱스와 같은 곳에 카운트 해주기 for i in range(len(N)): check = N.pop(0) cnt_list[check] += 1 # (6횟수 + 9횟수 + 1 )//2해서 6번에 넣어준다 # 9번은 0으로 바꿔줌 cnt_list[6] = (cnt_list[6]+cnt_list[9]+1)//2 cnt_list[9] = 0 #최대값 출력 print(max(cnt_list))
풀이 1. 딕셔너리로 옷의 종류를 key로 두고 같은 종류의 옷이 존재한다면 value에 +=1 해주고 같은 종류의 옷이 없다면 value = 1로 해준다. 2. value+1 을 해준 값들을 모두 곱한다. 3. 곱한 값에서 아무것도 안 입은 경우 한 가지를 빼준다. tc = int(input()) #테케 for t in range(tc): n = int(input()) #의상 수 clothes = {} # 옷의 종류를 key값으로 받고 딕셔너리에 key값이 없으면 value를 1로 준다. 존재하면 +1 for i in range(n): value, kind = input().split() if kind not in clothes: clothes[kind] = 1 else: clothes[kind] +=..
- Total
- Today
- Yesterday
- N과M
- 위클리챌린지2주차
- SSAFY퇴소
- git
- AWS
- django
- 프로그래머스
- Java
- commit되돌리기
- 파이썬
- splide
- javascript
- 자바
- SWEA
- vue
- Pyhton
- 독학
- vue.js
- 백준
- 비동기패턴
- 세션 스토리지
- Python
- 알고리즘
- 배포
- SQL
- DOM
- 싸피
- 안드로이드스튜디오
- SSAFY
- 트리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |