목록2024/01/16 (5)
JiSoo's Devlog
dart의 거의 전부가 object로 이루어져 있다 -> 진정한 객체 지향 언어로 불리는 이유 num 자료형을 사용하면 그 숫자는 integer일 수도 있고 double일 수도 있다 모든 게 object, class로 이루어져 있기 때문에 실제로 자료형 안에 어떤 게 들어있는지 볼 수 있다 void main(){ String name = "jisoo"; bool alive = true; int age = 12; double money = 24.22; num x = 12; x = 1.1; } dart에서 num은 정수와 부동 소수점 숫자를 모두 나타내는 데이터 타입 List를 선언하는 두 가지 방법 void main(){ var numbers = [1, 2, 3, 4]; List num = [2, 3, 4..
Dart는 두 개의 컴파일러를 가지고 있다 Dart Web(dart로 쓴 코드를 JavaScript로 변환) / Dart Native(dart 코드를 여러 CPU의 아키텍처에 맞게 변환) JIT(Just-It-Time) 컴파일 : dart VM으로 내가 쓴 코드의 결과를 바로 화면에 보여준다 AOT(Ahead-Of-Time) 컴파일 : 컴파일을 먼저 하고 그 결과인 바이너리 배포 -> 빠른 피드백을 원하면서도 최종 앱은 컴파일되어서 빨라야 한다 null safety는 안전한 프로그램을 빌드할 때 중요 dart언어를 수정해 flutter를 더 빠르게 할 수 있다 flutter에서 모든 건 class이다 main 함수는 모든 Dart 프로그램의 Entry point 이기 때문에 아주 중요 반드시 main 함..
n, m = map(int, input().split()) a = set() b = set() for i in range(n): a.add(input()) for i in range(m): b.add(input()) r = sorted(list(a & b)) # 교집합 print(len(r)) for i in r: print(i) set을 이용해 각 집합에 듣도 못한 사람의 명단과 보도 못한 사람의 명단을 add를 이용해 저장 교집합 &를 사용해 중복되는 문자열을 선택하고 sorted로 사전식으로 정렬한다
import sys n = int(sys.stdin.readline()) a = set() for i in range(n): k = sys.stdin.readline().strip().split() if k[0] == 'add': a.add(int(k[1])) elif k[0] == 'remove': a.discard(int(k[1])) elif k[0] == 'check': if int(k[1]) in a: print(1) else: print(0) elif k[0] == 'toggle': if int(k[1]) in a: a.discard(int(k[1])) else: a.add(int(k[1])) elif k[0] == 'all': a = set([i for i in range(1, 21)]) el..
n, m, v = map(int, input().split()) g = [[0] * (n+1) for i in range(n+1)] for i in range(m): a, b = map(int, input().split()) g[a][b] = g[b][a] = 1 visit = [0] * (n+1) def dfs(v): visit[v] = 1 # 방문한 점 1 print(v, end=" ") for i in range(1, n+1): if (visit[i]==0) and (g[v][i]==1): dfs(i) def bfs(v): q = [v] visit[v] = 0 # 방문한 점 0 while q: v = q.pop(0) print(v, end=" ") for i in range(1, n+1): if (..