일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Python
- 자바
- androidstudio
- 프로그래머스
- build
- level3
- py
- D3
- LEVEL2
- 휴학
- 어렵다
- Matrix Factorization
- git
- 컴퓨터비전
- MSBuild
- 내휴학생활중의아주큰일
- Github
- 대학원
- WebOS
- 파이썬
- level4
- 컨트리뷰톤
- SQL
- 안드로이드스튜디오
- 다시풀기
- 대학원일기
- SWEA
- BFS
- level1
- java
- Today
- Total
목록언어! (14)
bit가 눈 앞에서 왔다갔다
치명적인 실수를 했는데 거기서 시간을 굉장히 많이 까먹었다. 처음에 deq 선언을 이렇게 함 deq = deque([begin, 0]) 1차원 리스트인거임 근데 이래 놓고 cur, depth = deq.popleft() 여기서 에러나니까 ???? 하고 한참 헤매었음 저건 뭐 popleft를 두 번하면 되니까 해결 한다면 할 수 있었지만 그 다음에서 문제가 발생했다. if cnt == 1: visited[i] = True deq.append([words[i], depth + 1]) 이렇게 append 해버린 것이었다.. 그러니까 위에서는 1차원 리스트고 밑에서는 2차원 리스트로 넣어버린 것이다... 당연히 루프를 돌면서 popleft()를 두번 한 곳에서 에러가 발생했고 또 어리둥절했음. 발견 못해서 디버..
sort() 리스트.sort( ) 리스트형의 메소드 리스트 원본값을 직접 수정, 반환값 없음 sorted() sorted( 리스트 ) 형식 내장 함수 리스트 원본값 수정 안됨, 정렬값 반환
피드백) split()는 괄호 안에 아무것도 없으면 공백을 기준으로 나눠진다. arr = list(map(int, input())) arr1 = list(map(int, input().split())) arr2 = list(map(int, input().split(' '))) print(arr) print(arr1) print(arr2) --- 입력 1234 1 2 3 4 1 2 3 4 결과 [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4]
알고리즘을 파이썬으로 풀까 한다. 여러가지 고려했을 때 파이썬이 더 좋을 것 같아서 근데 그동안 c/c++, java에 익숙해져서 파이썬은 자꾸 까먹게 되는 부분들이 있다.. ((c/c++, java는 각잡고 하나하나 공부했지만 파이썬은 기초적인 문법만 아는 상태에서 바로 알고리즘을 푸는 상황이라)) for문도 그 중 하나임,, c++이랑 다른 부분 때문에 정신 빼놓고 c++ 처럼 풀다가 어느새 틀리면 아 이거 아니지 한다. 그냥 책 하나 살까? 하다가도 다른거 할거 많은데 언제 책 하나하나 보고 있나 싶기도 하고.. 음..일단 그냥 하는걸로,,! 어쨌든 그래서 정리! (내가 헷갈리는 부분들만 정리한다.) 1. for i in range(5) range(5) 이런식으로 주면 반복횟수를 정해준다. 2. f..
1. Key Event와 Key Listener Key 이벤트: 사용자가 키를 입력할 때 발생하는 이벤트. 포커스(키 입력 독점권)를 가진 컴포넌트에만 키 이벤트 전달 스윙 프로그램에서 강제로 임의의 컴포넌트에 포커스 줄 때 필요한 코드 c.setFocusable(true);//난 이거 필요함 c.requestFocus(); component.setFocusable(true)는 컴퓨터의 실행 환경에 따라 필요함. (없으면 키 입력 못 받는 경우가 있음) 컴포넌트에 포커스 주는 시점 1. 스윙 프레임이 만들어질 때, 컴포넌트에게 포커스를 주고자 한다면 setVisible(true) 후 requestFocus() setVisible(true); c.setFocusable(true); c.requestFocu..
1. 이벤트 기반 프로그래밍 : 이벤트 발생에 의해 프로그램 실행 흐름이 결정되는 방식의 프로그래밍 패러다임 이벤트: 키 입력, 클릭, 드래그, 데이터 수신 등등 이벤트 발생과 처리 과정: 사용자가 마우스로 버튼 클릭 -> 운영체제의 마우스 드라이버, 자바 가상 머신(JVM)에 전달 -> JVM은 이벤트 분배 스레드(핵심 요소, 무한루프 실행. 이벤트 발생 통지받아 소스, 종류 결정해서 적절한 이벤트 객체 생성 후 리스너 호출)에게 클릭 정보 전송 -> 이벤트 분배 스레드가 이벤트 객체 생성 (이벤트 발생시킨 GUI 컴포넌트: 이벤트 소스) -> 이벤트 소스에 연결된 이벤트 리스너 호출 -> 이벤트 분배 스레드의 리턴 (이벤트는 순서대로 처리, 완전 종료 후 다음 이벤트 처리. 처리시간이 오래 걸리면 안..
명품 자바 프로그래밍 9장 7번 package chapter9; import java.awt.*; import javax.swing.*; public class layout extends JFrame{ public layout() { setTitle("계산기 프레임"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container con = getContentPane(); JPanel pn = new JPanel(); JPanel pc = new JPanel(); JPanel ps = new JPanel(); con.add(pn, BorderLayout.NORTH); con.add(pc); con.add(ps, BorderLayout.SOUTH); pc.setL..
1. 컨테이너, 배치(Layout) 개념 컨테이너에 부착되는 컴포넌트들의 위치와 크기는 컨테이너 내부의 배치관리자에 의해 결정된다. *AWT, Swing의 컨테이너 특징 1. 컨테이너마다 배치관리자가 하나씩 있음. (배치관리자 삭제 가능) 2. 배치관리자는 컨테이너에 컴포넌트가 부착되는 시점에 컴포넌트의 위치와 크기 결정 3. 컨테이너의 크기가 변경되면 배치관리자는 컨테이너 내부의 모든 컴포넌트들의 위치와 크기 재조정 2. 배치관리자 특징 import java.awt.*; 배치관리자는 java.awt 패키지에 존재하는 클래스들. (AWT - 컴포넌트 종류의 이름) *배치관리자 설정 Container 클래스의 setLayout() 메소드 호출 컨텐트팬의 배치관리자도 변경 가능! 1) FlowLayout -..
1. JAVA GUI GUI: Graphical User Interface GUI를 구성하는 기본 패키지 2가지: AWT와 Swing AWT 1. java.awt 패키지 제공 2. 중량 컴포넌트(heavy weight) 3. 운영체제의 도움을 받아 화면에 출력하기 때문에 OS에 부담을 끼친다. 4. 운영체제(Windows Button, Macintosh Button)에 따라 다른 모양으로 나타남 Swing(권장) 1. javax.swing 패키지 제공 2. 순수 자바 언어로 작성(운영체제의 도움받지 않음. 운영체제와 상관없이 동일하게 동작) 3. AWT 컴포넌트들이 100% 호환되도록 스윙 컴포넌트로 작성. AWT와의 구분을 위해 J를 붙임 4. AWT 패키지 필요 2. JAVA GUI 패키지 GUI 패..