전체보기297 다트(Dart) 변수 순서 var dynamic final late const 다트라는 언어는 기본적으로 자바랑 비슷한 점이 매우 많다. 코딩의 순서가 순차적으로 진행되는 것부터 객체 지향인 것까지. 다트의 변수 타입 지정에는 여러가지 방식이 있다. 그 중 몇개만 보자면 var 특정 타입을 지정하지 않았을 때, 들어가는 값에 따라 자동으로 형변환을 해주는 타입. 기본적인 int, String 같은 것은 동일하게 사용된다. 다트에서 int / String 같은 명시적인 타입 선언은 class 의 property를 작성할 때 사용하도록 권장하고 있고 var는 지역변수에서 사용하도록 권장한다. void main() { print('안녕 디지몬'); // 변수와 코딩 순서 var name = '연습이름'; print(name); n.. 2023. 3. 10. Parameter(매개변수)와 argument(인수)의 대략적 정의 IT 공부를 하면서 항상 느끼는 제일 거지 같은 점이 여기는 명칭에 대한 고유값이 없다 시피 산다. 지칭어 수준으로 혼용을 하면서 사용하고 있어서 공대 출신인 내 기준으로는 대체 어떻게 이 바닥이 유지가 되는지 신기할 따름이다. (이래서 컴퓨터 바닥도 과학자 같은 사람이 있어야 한다.) 최근에 n년차 친구와 얘기하다가 어느 정도 그 세계에서 정립된 용어 하나를 써놓을까 한다. 파라미터(Parameter) = 매개변수 - 함수가 만들어질 때 지정해놓은 초기 변수 아규먼트(argument) = 인수, 전달인자 - 만들어진 함수에 들어가는 입력 값 아래의 예로 보면 파라미터는 a ,b 인수는 2400 , 2200 이다. public static void main(String args[]){ yaho(2400,.. 2023. 3. 2. 자료구조 - 필요한 이유 및 종류 필요한 이유 결론부터 까놓고 말해서 자료구조는 공부가 필요하다고 본다. 크게 유의미 하지 않은 취업을 위한 코딩테스트 때문에 공부를 시작했지만 어느정도 개발 실력이 올랐을 때, 이걸 모르면 자원 낭비가 너무 심할 것으로 보인다. 자료구조를 쉽게 설명하자면 몸 싸움을 한다고 쳤을 때, 피지컬로 때려눕히는 게 그냥 개발이라면 격투기 기술이 추가되어 적은 힘으로(적은 메모리 사용 및 처리 시간) 효율적으로 때려 눕히는 건 자료구조를 사용한 개발이다. 자료구조의 종류 1. 단순 구조 보관 방법과 연산을 정의 => 보관방법을 정의함으로써 메모리의 과한 사용을 막는다. 2. 선형 자료구조 데이터 요소를 순차적으로 연결하는 구조 3. 비선형 자료구조 데이터 요소를 비순차적으로 연결하는 구조 2023. 2. 27. 자바(Java) PriorityQueue PriorityQueue 일반적인 큐의 구조 FIFO(First In First Out)를 가짐. 단, 우선순위 기준을 정하고 우선순위가 높은 데이터가 먼저 나가는 자료구조. 특징 우선순위의 요소 높은 순으로 처리하는 구조. 비교가 가능한 기준이 있어야 함. => 따라서 null 값을 허용하지 않음. 내부 요소는 힙으로 구성되어 이진트리 구조로 이루어짐. 수정이 이루어지면 내부적으로 재정렬을 계속 한다. 시간 복잡도는 O(NLogN). 객체 선언 형식 import java.util.PriorityQueue; import java.util.Collections; // 오름차순 int 형 우선순위 큐 선언 PriorityQueue qL = new PriorityQueue(); // 내림차순 int 형 우선순.. 2023. 2. 26. 자바(Java) StringTokenizer 클래스과 split 메소드 둘 다 문자열 분리에 사용되는 녀석들이다. 우선 차이점을 보자. StringTokenizer split java.util에 포함된 클래스 String 클래스에 포함된 메소드 결과값이 여러 개의 Token으로 이루어진 String 결과값이 String 배열 빈 문자열을 Token으로 인식하지 않음 빈 문자열을 Token으로 인식함 문자나 문자열을 구분자로 사용 정규표현식으로 구분 StringTokenizer 해당 클래스 자체에 대해서 알아보자. 보통은 BufferedReader 클래스와 같이 사용하는데 사실 그게 아니더라도 그냥 String을 분리하고 싶으면 사용한다. 쉽게 말해, String을 Token화 해서 여러 개로 분리한다. 라는 거다. 생성자는 아래와 같다. // 띄어쓰기 기준으로 분리 Stri.. 2023. 2. 20. 자바(Java) 자바 입력의 전체적 개요 요약 1. 자바 입력의 전체적 개요 2. UTF-8 과 UTF-16 의 구성 방식의 차이 3. Stream 4. System.in 5. InputStreamReader 6. Scanner(System.in) 7. BufferedReader 자바 입력의 전체적 개요 - 자바는 문자열을 메모리 상에서 UTF-16으로 인코딩하여 처리. - 문자열 송/수신을 위해 직렬화가 필요할 때에는 변형된 UTF-8 을 사용. - 문자열을 입출력 할 때는 운영체제 기본 인코딩값, 또는 사용자가 지정한 인코딩 값(file encoding)으로 문자열을 인코딩. (메모리 상에서 처리되는 것과는 다름.) - 1 ~ 127 까지는 아스키 코드 값과 유니코드(UTF-8, UTF-16 등 ), MS계열 코드(CP949, MS949 등.. 2023. 2. 9. 자바(Java) StringBuilder와 String String 그들끼리의 연산 시, 메모리 할당과 해제를 반복한다. => 즉, 연산량이 증가하면 좋지 않다. StringBuilder 연산 시 객체를 더할 때, 메모리를 할당하지 않고 기존 객체에 더하는 방식을 사용. => 메모리 사용이 적고 빠르다. => append() 함수를 이용해 더한다. => String으로 변환 시, toString()을 이용한다. public class Main { public static void main(String[] args) { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("문자열").append(" 뒤에 이어서 연결"); // String str = stringBuilder; // 위.. 2023. 2. 9. 자바(Java) Arrays.sort()와 Collections.sort() 둘의 큰 차이는 Arrays.sort()는 배열을 정렬해주고 Collections.sort()는 객체를 정렬해준다. 추가적으로 알고리즘에 따른 시간 복잡도 차이가 존재한다. Arrays.sort()는 평균 시간복잡도가 O(nlogn) 이고 매우 빠른 알고리즘이나 최악의 경우 시간복잡도는 O(n2) 이다. Collections.sort()는 평균 시간복잡도가 O(n) ~ O(nlogn)이다. Array.sort() 기본적으로 오름차순으로 정렬을 한다. java.util.Arrays 에 포함이 되어 있다. 정렬 기준은 숫자 > 대문자 > 소문자 > 한글순 Arrays.sort(정렬하고자 하는 객체, Collections.reverseOrder()) 내림차순으로 정렬을 한다. 정렬 기준은 반대로 한글순 > 소.. 2023. 2. 9. 프로그래머스 코딩테스트 고득점 Kit 해시 위장 문제 풀이 import java.util.*; class Solution { public int solution(String[][] clothes) { HashMap clo = new HashMap(); int[] num = new int[30]; int answer = 0; for(int i = 0 ; i < clothes.length ; i++){ clo.put(clothes[i][1], clo.getOrDefault(clothes[i][1], 0) + 1); } int a = 0; for(String keys : clo.keySet()){ num[a] = clo.get(keys) + 1; a++; } for(int i = 0 ; i < a ; i++){ if(i==0){ answer = num[i]; }els.. 2023. 2. 3. 자바(Java) Iterator와 hasNext() / next() / remove() Scanner 클래스에 있는 hasNext()와는 다른 아이임을 선고지 함. 1. 배경 설명 Collection framework 데이터를 저장하는 클래스들을 표준화 한 설계 그 하위의 인터페이스 (Set / List / Map) 은 데이터의 집합체들이다. Iterator - 위의 데이터 집합체에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 인터페이스를 말한다. - 원래는 각 인터페이스 별로 데이터를 읽을 방법을 알아야 하는데 이 인터페이스를 사용하면 어떤 Collection 이라도 동일 방식으로 안에 있는 데이터에 접근이 가능. 즉, 쉽게쉽게 데이터 얻어 오기 위한 인터페이스라는 것. - Vector, ArrayList,LinkedList 가 상속받는 인터페이스 - 리스트 구조의 컬렉션에서 요소의 .. 2023. 2. 2. 이전 1 ··· 9 10 11 12 13 14 15 ··· 30 다음 728x90 반응형