set: 수학에서의 집합, 데이터 저장순서를 보장하지 않는다, 중복저장을 허용하지 않는다. a={1,3,1,2,5,4,5,6} //중괄호를 쓴다. //출력 {1,2,3,4,5,6} //정렬된게 아닌 hash알고리즘에 의해 원소들이 재배치 된것. 정렬이 아님. b=[1,1,2,2,3,3,4,4,5,6,7] b=set(b) //출력{1,2,3,4,5,6,7} list의 set화 set 연산: 교집합, 차집합, 합집합, 부분집합 a={1,2,3} b={2,3,4} c={2,3} a.intersection(b) // 교집합 출력{2,3} a.union(b) //합집합 출력{1,2,3,4} a.difference(b) //차집합 출력{1} c.issubset(a) //부분집합 c는 a의 부분집합인가 출력 True..
이번에 배운내용은 주로 collection을 배웠다. 합집합, 교집합,dictionary,list, tuple등을 배웠다. 다음 시간부터 코딩할 내용이 많아진다고 하니 빡세게 들어야겠다. 배운것 list: 저장순서 유지, 중복 허용, 변경 가능, 아무 데이터 타입을 넣을수 있다. list1=[] //[]로 선언한다. tuple: list와 동일하나, 변경이 불가능하다. tuple로 만드는것을 packing이라 한다. tup1=() //()로 선언한다. tuple의 list화 tup1=(1,2,3,4) list_tup1=list(tup1) list를 tuple로 바꾸는 것 역시 가능하다. list1=[1,2,3,4,5] tup_list=tuple(list1) str타입을 list나 tuple화 시키는 것도..
1일차 여서 그런지 기본만 배웠다. colab을 이용하여 웹에서 간단한 파이썬 코딩을 했다. 너무 기초적인건 제외했다. 배운것 1. 변수의 데이터 타입 2. 출력 a=1 b="Hello" print(a,b) //출력(1 Hello) 띄어쓰기가 자동으로 들어가짐 print(a,10,100,"Hello world",sep="") //출력(110100Hello world) sep=""로 설정하면 띄어쓰기가 안들어가짐 print(a,10,100,"Hello world",sep="",end="@@@") //출력(110100Hello world@@@) end="@@@"시 끝부분에 @@@가 들어갔음 print("{}의 {}집".format("junhwan","Seoul")) //{}에 .format()안에 있는것을 ..
시간 복잡도를 신경 안썼더니 점점더 시간이 오래걸린다. 10000을 입력하고 시간을 재보니 2초정도 나왔다. 너무 오래걸린다. public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); List arr=new ArrayList(); int input; int min,max; int count=0; while(true){ input=scanner.nextInt(); if(input==0) break; else arr.add(input); } for(int i=0;i
아직은 시간복잡도를 생각하지 않고 생각 하는대로 구현중이다. 감좀 다시 익히고 나면 시간복잡도도 다시 신경써야겠다. public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int min=0,max=0; min=scanner.nextInt(); max=scanner.nextInt(); for(int i=min;i
1은 나오지 않게 했습니다. public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int input_num = scanner.nextInt(); int division_num = 2; while (true) { if(division_num>input_num) break; else { if (input_num % division_num == 0) { System.out.println(division_num); input_num = input_num / division_num; } else { division_num++; } } } }