일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- github
- 인공지능
- 파이썬
- 모각코
- dictionary
- Java
- list
- 백준
- AI 윤리
- 정처기 실기
- pandas
- AIVLE
- numpy
- git
- KT AIVLE
- ai 전문가 과정
- 데이터분석
- LG Aimers
- AI학습
- 데이터과학
- 정처기
- 자바
- 코딩
- 알고리즘
- KT
- 데이터
- Ai
- Today
- Total
목록자바 (20)
무향향수

더보기처음 파이썬으로 문제를 풀었을 때 채점 시간이 엄청 오래 걸리더니 결국 시간초과가 나버렸다. 언제나처럼 이중 for문을 사용한 것이 문제였고 문제를 해결한 다른 블로그를 참조하여 코드를 작성하였다. 이중 for문이 쉽고 좋은데.. 시간이 너무 오래 걸려서 슬프다. 이전까지는 이중 for문이 만능이었는데 시간복잡도나 자료구조, 알고리즘을 배우고 코드를 작성해보니 최악이라는 생각이 들기도 한다. 더 열심히 대응방안을 찾아봐야겠다. 처음에 작성했던 코드 (시간 초과)import sysN = int(sys.stdin.readline()) # 수 입력받기a = [2]for i in range(N, 1000000000000): # while문 대신 for문을 사용 x = 1 for j i..

알고리즘에서 시간 복잡도는 주어진 문제를 해결하기 위한 연산 횟수를 말한다.일반적으로 수행 시간은 1억번의 연산을 1초의 시간으로 간주어 예측한다. 빅-오메가: 최선일 때의 연산 횟수를 나타낸 표기법빅-세타: 보통일 때의 연산 횟수를 나타낸 표기빅-오: 최악일 때의 연산 횟수를 나타낸 표기법 코딩테스트에서는 빅-오 표기법을 기준으로 수행시간을 계산하는 것이 좋다. 연산 횟수 = 알고리즘 시간 복잡도 * 데이터의 크기 1. 상수는 시간 복잡도 계산에서 제외한다.2. 가장 많이 중첩된 반복문의 수행 횟수가 시간 복잡도의 기준이 된다.
목차 ☘️ Reference Call by Value Call by reference 더보기 학습 이유 2주차에 배운 내용들을 복습하기 위하여 학습하게 되었다. ☘️ 1. Reference Java에서는 alloc/free를 신경쓰지 않아도 된다. (가비지 컬렉터가 있기 때문에) Java는 Pointer 대신 Reference라는 개념이 존재한다. Java에서는 primitive value인 boolean, char, byte, short, int, long, float, double을 제외하고 모두 Reference값이다. array의 경우도 Reference처럼 취급한다. 이러한 이유로 int는 primitive, int[]는 Reference이다. 객체를 사용하여 값의 레퍼런스를 넘겨주면 메소드를 ..
목차 🦀 클래스, 메소드, 변수명 Indent 더보기 학습 이유 자바 코딩 실력이 부족하다고 느껴서 이전에 프로그래머스 2주차 강의에서 배운 내용들을 복습하게 되었다. 🦢 1. 클래스, 메소드, 변수명 1) 클래스명 클래스명은 대문자로 시작한다. class myClass{} // XXX class MyClass{} // OOO 클래스명은 대문자로 시작한다. 클래스명에 언더바_를 사용하지 않는다. class My_Class{} // XXX class MyClass{} // OOO 클래스명에 언더바_를 사용하면 안된다. 2) 메소드, 변수명 메소드나 변수명은 소문자로 시작한다. int my_black_cap = 0; // XXX int myBlackCap = 0; // OOO 변수명은 소문자로 시작한다. v..
목차 🦢 List Set Map 더보기 학습 이유 컴퓨터프로그래밍2에서 자바를 학습할 때 배웠던 내용이지만 실제로 쓸 일이 없어서 까먹게 되었다. 이후 SW ACADEMY에 참여하여 자바로 여러 코딩테스트 문제를 풀다가 자바 collection을 사용해야지 풀 수 있는 문제들이 빈번하게 출제되어서 다시 학습하게 되었다. 🦢 1. List list는 순서가 있는 데이터 집합이다. 데이터의 중복을 허용한다. ArrayList, LinkedList, Stack, Vector 🦢 2. Set Set은 순서를 유지하지 않는 데이터의 집합이다. 데이터의 중복을 허용하지 않는다. HashSet, TreeSet 🦢 3. Map Map은 key와 value의 쌍으로 이루어진 데이터의 집합이다. 순서는 유지되지 않으며, ..
목차 💘 Integer.valueOf() Integer.parseInt() 더보기 학습 이유 코딩테스트 문제를 풀때, 항상 Integer.valueOf()를 사용하여 BufferedReader로 받은 String변수를 정수형으로 변환해주었다. 그런데 문제 해설을 보니 TA분께서 Integer.parseInt()를 사용하여 String을 정수형으로 변환하여 문제를 해결하신 것을 발견하고 이 둘의 차이에 대해 궁금해져서 공부하게 되었다. Integer.valueOf()와 Integer.parseInt() 둘 다 문자열을 정수로 변환해준다는 공통점이 있다. String sValue = "1000"; String sParse = "1000"; Integer iValue = Integer.valueOf(sValu..

목차🦖 charAt(숫자) indexOf(문자) charAt()과 indexOf()를 모두 사용해서 푼 코딩테스트 문제 더보기 학습 이유 코딩테스트 문제를 풀다가 해당 문자열이 존재하는지 확인해야하는 문제가 나왔는데 이 상황에서 indexOf()를 사용해야 하는지, charAt()을 사용해야하는지 알 수 없었다. 이러한 이유로 블로그에 각각의 기능과 활용 방법에 대해 정리하고 기억하기 위하여 학습하게 되었다. 🦖 1. charAt(숫자) charAt()은 변수명.charAt(숫자) 형식으로 사용한다. 사용자가 입력한 숫자가 2인경우, 해당 문자열의 2번째에 해당하는 문자를 출력해준다. String S = "ROUND FACE"; System.out.println(S.charAt(2)); // 문자열 S의..
목차💭 HashMap TreeMap TreeMap을 사용한 코딩테스트 문제 풀이 더보기 평소 백준 문제는 파이썬으로, SW ACADEMY 코딩테스트 문제들은 자바로 해결한다. 어느날 자바로 문제를 풀다가 파이썬의 딕셔너리를 사용하면 쉽게 풀릴 문제인데 자바로는 어떻게 해결해야할지 몰라서 인터넷 검색을 하다가 자바에 있는 HashMap과 TreeMap을 사용하면 된다는 설명을 듣고 공부하게 되었다. 💭 1. HashMap Map : key와 value로 구성된 객체를 저장하는 자료구조 HashMap : Map의 성질을 그대로 가지고 있다. key는 중복이 불가능하고 value는 중복이 가능하다. HashMap 선언하기 HashMap hm = new HashMap(); HashMap 값 추가, 삭제, 출력하..

목차🍒 toCharArray() 기능 Arrays.sort() 기능 위의 두가지를 모두 사용한 코딩테스트 문제 풀이 더보기 학습 이유 이전시간에 학습한 StringTokenizer(), BufferedReader(), BufferedWriter()와 마찬가지로 코딩테스트 해설강의를 보며 공부하다가 모르는 부분이 나와서 공부하게 되었다. 🍒 1. toCharArray() 기능 String 문자열을 char형 배열로 바꿔서 변환해준다. char[] S = br.readLine().toCharArray(); char[] T = br.readLine().toCharArray(); // 입력받은 String을 모두 잘라서 char형 배열에 저장해준다. 🍒 2. Arrays.sort() 기능 배열을 오름차순으로 정..
목차🏈 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 🏈 JVM이란 무엇인가 JVM = Java Virtual Machine = 자바 실행을 위한 가상 기계(컴퓨터)' Java는 OS에 종속적이지 않기 때문에 OS 위에서 Java 를 실행시킬 수 있도록 도와주는 것이 필요하다. 그것이 바로 JVM이다. 즉 JVM이란 OS에 종속받지 않고 CPU 가 Java를 인식하고 실행할 수 있게 해주는 가상 컴퓨터이다. ⭐ 그래서 일반적인 프로그램의 경우 OS에 종속적이지만, JAVA의 경우 JVM이 존재하기 때문에 OS에 종속받지 않고 JAVA 프로그램을 실행시킬 수 있는 것이다. 🏈 컴파일 하는 방법 ..