일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- LeetCode 83번
- 수학
- LeetCode Remove Duplicates from Sorted List in c
- 해시를 사용한 집합과 맵
- 스택
- 자료 구조
- 시뮬레이션
- 유클리드 호제법
- LeetCode 83 c언어
- 연결리스트 중복제거
- 별 찍기
- 사칙연산
- 이분 탐색
- Queue
- 큰 수 연산
- 조합론
- 프로그래머스
- 정수론
- 다이나믹 프로그래밍
- KMP알고리즘
- 문자열제곱
- 재귀
- 큐
- 임의 정밀도 / 큰 수 연산
- 문자열
- 구현
- 정렬
- 브루트포스 알고리즘
- 실패함수
- 연결리스트 정렬
- Today
- Total
목록개발 공부/JAVA (9)
hahn
문제 상황 스택 구현하다가 시간제한 때문에 Scanner에서 BufferedReader로 교체하려 하는데 push 1 push 2 이런 식으로 입력이 들어올 때가 문제였다. top size empty pop pop pop size empty pop 다른 입력은 이렇게 들어와서 String.split으로 쪼개기에는 곤란했다. 그래서 StringTokenizer라는 클래스를 발견했다. StringTokenizer 속 method constructor / method 설명 StringTokenizer(String str, String delim) delim을 구분자로 하여 str을 나누어 StringTokenizer을 생성한다. StringTokenizer(String str, String delim, boo..
Botherahn :: [백준 - JAVA] 엄청난 부자2 (tistory.com) [백준 - JAVA] 엄청난 부자2 1271번: 엄청난 부자 2 (acmicpc.net) 1271번: 엄청난 부자2 첫째 줄에는 최백준 조교가 가진 돈 n과 돈을 받으러 온 생명체의 수 m이 주어진다. (1 ≤ m ≤ n ≤ 101000, m과 n은 10진수 정수) www.acmicpc.net.. ahnstu.tistory.com 이 문제를 풀면서 도저히 해답이 안 나와서 검색해봤는데 BigInteger을 알게되었다. 기존에 내가 사용하던 숫자 자료형에는 type scope int -2,147,483,648 ~ 2,147,483,647 long -9,223,372,036,854,775,808 ~ 9,223,372,036,..

백준 정렬 문제 풀던 중 시간 초과로 정렬 방법 찾아봐야 하나 싶었는데 이 문장을 보고 학원에서 코드 짤 때 검색해서 사용했던 게 기억이 나 한 번 다시 찾아봤다. 학원 다닐 때 Map, ArrayList 자주 사용했었는데 수료하고 나서 집에서 공부할 때는 그냥 배열만 썼다. 그래서 잊고 있었던 것도 있고, 내장 함수 사용하면 뭔가 내 실력이 아닌 것 같아 꺼렸다. 근데 써보라니까 함 써봐야지 ^^ List arr = new ArrayList(); 숫자 정렬해야하니까 제네릭 Integer 써주고, arr.sort 설명을 보면 뭐라 많이 써있다 암튼 입력받는 자료형이 Comparator인걸 확인했으니까 얘도 이렇게 메서드 확인해보면 여러 가지 있는데 그냥 직감적으로 naturalOrder은 오름차순이고, ..
어제 배운 것에 개념하나 추가됐다. ResultSet rs = null; rs = pstmt.executeQuery(); while(rs.next()){} 어제랑 상황은 같고, PreparedStatement 객체 생성 시 SELECT * FROM tb_user 쿼리문을 입력했다. executeQuery 메서드는 SELECT 쿼리 결과를 ResultSet 으로 리턴해주고, 조회된 값을 행으로 담고 있다. next()메서드는 행 하나를 읽어주고 커서를 다음 행으로 넘긴다. 그러니까 while 전에 next 메서드가 잘 되나 확인해본다고 위에 서술하면 두번째 행부터 출력되므로 확인 후 주석 처리 해야한다.
학원에서 db 배운다고 mysql, heidisql 설치했다. 루트로 로그인 후 db생성하고 일반사용자 계정 생성 및 접근권한 부여했다. 일반사용자 계정 로그인 후 table생성하고 입력, 수정, 삭제, 조회해봤다. 일단 테이블 생성 문법에 대해 따로 배우진 않았지만 기본적으로 변수와 데이터타입(가변길이) 지정해두고 추가적으로 NOT NULL과 같이 값을 비우지 못하게하는 등 추가 설정 하는 듯 나중에 자세히 배우면 다시 포스팅해야겠다. 이후 프로그램 순서는 드라이버 로딩하고 Class.forName("com.mysql.jdbc.Driver"); Connection객체로 DB연결한다. Connection conn = null; String jdbcDriver = "jdbc:mys..

클래스 6개를 만들어서 클래스 간 적절히 사용하여 특정한 상황을 가정하여 콘솔 창에 원하는 결과를 출력시켰다. 실습 예시가 있어 데이터 흐름 따라 코드 작성하는건 시간만 충분하면 이클립스 도움을 받아 충분히 가능할 것 같지만 프로젝트 할 때 데이터 흐름을 이해하고 작성할 생각을 하니 막막하기만 하다. 뭐 일단 지금은 필요할 때 꺼내 쓸 수 있도록 키워드는 가지고 가야겠다.

main method 내에서 User class data type 인 객체 참조 변수 userInfo method를 선언하고, User()생성자로 객체를 생성되면 주소가 생성된다(우측 @7852e922 부분) data area와 method area를 가지고 생성된 주소 값을 userInfo에 할당하게 된다. 수업 들을 때는 무슨 개념인지 왜 이렇게 하는지 잘 이해가 안 갔는데 검색해보니 생성자는 초기화 개념이며, 클래스 데이터 타입으로 지정하는 이유는 변수 지정의 효율성과 관련 있음을 알았다. 나중에 어떻게 사용해야할지 좀 고민해봐야겠다. 항상 그렇지만 코드를 말로 표현한다는 것은 매우 어렵다. 어떻게 해결해야할지 감도 안 잡힌다;

오늘은 return을 받는 메서드에 대해 배웠다. 새로 알게 된 것은 void 자리에 return 값의 data type에 따라 data type을 넣어주는 것과 위에 코드를 보면 String re = null; 부분이 있는데 String 일 때는 null을 다른 data type은 0을 넣어줘야 하는 것을 알았다. 정확히 어떤 의미를 지니는지 인터넷에 검색해봤는데 null에 관해 오류와 같은 정보만 잔뜩 있고 원하는 정보를 찾지는 못했다. 또한 중요한 게 데이터가 입력되고 리턴되는 과정을 완벽하게 이해해야 한다. 지금은 리턴이 한 개가 들어가지만 여러 개가 들어가게 되면 자칫하면 data type이 불일치하거나 원하는 곳에 return 되지 않거나 하는 ..