Study 104

[JAVA] for문 축약(for each문), if-else 축약(삼항 연산자)

며칠 전 올렸던 사이트는 코딩 문제를 풀고 나서 다른 사람들의 답도 확인할 수 있게 되어 있는데, 구경하다보면 어떤 방식으로 돌아가는 건지는 알겠는데 생소한 코드들이 있었다. 보통 그런 것들이 제목에 있는 축약형이라 이 기회에 정리해본다. for문 축약(향상된 for문, for each문) 주로 배열 원소를 출력할 때 많이 사용한다. 배열 인덱스 문제를 해결할 수 있다. (ArrayIndexOutOfBoundsException 예외를 피할 수 있다.) (알고리즘 문제 풀 때 저 에러 너무 자주봐서 괴로웠던...ㅠㅠ) 아래는 문법이다. for(자료형 변수명 : 배열명){ ... } 자료형은 배열의 자료형이다. String[] arr = {"a","b","c","d"}; for(String s : arr) ..

Study/Java 2022.10.18

코딩테스트 입문

https://school.programmers.co.kr/learn/challenges/beginner 코딩테스트 입문 | 프로그래머스 스쿨 코딩테스트에 처음 도전하는 사람들을 위한 입문 문제 모음. 쉬운 문제부터 하나씩 도전해 보면서 코딩테스트에 자신감도 붙이고 문제 해결 능력을 키워보세요! school.programmers.co.kr 코테준비를 처음 시작하거나 프로그래머스 레벨 1도 어려운 사람들을 위해 만들었다는 문제 모음이라는데.... 사실 예전에 백준 문제를 풀기 전 프로그래머스에 들어갔다가 기나긴 서술형 문제와 IDE 도움 없는 실행화면을 보며 겁나서 바로 껐던 추억이 있다.ㅎㅎ 그래서 트위터에서 이 링크 소개를 보고 프로그래머스에 대한 두려움을 줄이고자 도전해보기로 했다. 하루 4문제씩 풀..

Study/알고리즘 2022.10.13

[JAVA] 클래스 변수, 인스턴스 변수, 지역 변수

이것도 면접 질문에 나왔던 것이라 정리해 본다. public class Sample{ int instanceV; //인스턴스변수 static int classV; //클래스변수 void method(){ int localV; //지역변수 } } 전역변수(Global variable) 클래스 영역(메소드 밖)에 선언된 변수를 의미한다. 프로그램이 실행되면 메모리 공간에 데이터를 저장한다. 인스턴스 변수 (instance variable) (= 객체 변수) -인스턴스가 생성될 때 메모리에 할당됨 -클래스 내에 선언된 변수 -클래스 변수와 달리 공유되지 않는다. -객체 생성 시마다 매번 새로운 변수가 생성된다. 클래스 변수 (class variable) (= static변수) -클래스가 메모리에 올라갈 때 메..

Study/Java 2022.10.12

[JAVA] 생성자

생성자(Constructor) 메소드명이 클래스명과 동일하고 리턴 자료형을 정의하지 않는 메소드 new 연산자와 함께 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체를 초기화해준다. 객체 초기화란? : 객체를 선언하고 사용할 준비를 하는 것. 생성자의 특징 1. 반환값이 없어 return을 사용하지 않고, 반환 타입을 void형으로 선언하지 않는다. 2. 초기화를 위한 데이터를 인수로 전달받을 수 있다. 3. 객체를 초기화하는 방법이 여러 개 존재할 경우에는 하나의 클래스가 여러 개의 생성자를 가질 수 있다. (생성자도 메소드이기에 오버로딩이 가능하다는 뜻) 기본 생성자(default constructor) 자바의 모든 클래스에는 하나 이상의 생성자가 정의되어 있어야 한다. 하지만 특별히 생성자를 ..

Study/Java 2022.10.10

[자료구조] 배열과 리스트의 차이

어느 기업 면접을 갔을 때 문제지에 나온 문제인데 좀 더 자세히 정리해보고자 포스팅을 한다. 배열(Array)과 리스트(List) 모두 여러 개의 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 자료구조이다. 그렇다면 무슨 차이가 있을까? 배열(Array) 값에 대한 유일무이한 식별자(index)가 존재한다. 정해진 공간이 있고 크기가 고정되어 있기에 어떤 엘리먼트가 삭제되면 빈 공간으로 남겨야 한다.->메모리 낭비 논리적 저장 순서와 물리적 저장 순서가 일치 -> index로 해당 원소에 빠르게 접근할 수 있다. 객체생성시 크기 할당이 필수이다.(ex: int[] arr = new int[3];) 삽입/삭제는 느리지만 데이터 조회는 빠르다. 크기를 구할 때 length 를 사용한다. 리스트(List)..

Study/Java 2022.10.07

MySQL 기초-SELECT

얄코의 MySQL 강의를 들으며 정리한 내용을 포스팅했습니다. 혹시 틀린 부분이 있다면 편하게 말씀 주세요^^~ select 1. 모든 데이터 가져오기 SELECT * FROM Customers; * 는 모든 칼럼을 뜻한다. 2. 원하는 칼럼(열) 데이터 가져오기 SELECT CustomerName FROM Customers; select 뒤에 구문을 붙여서 원하는 칼럼 데이터를 가져온다. SELECT CustomerName, 1, 'Hello', NULL FROM Customers; 테이블의 컬럼이 아닌 값도 선택할 수 있다. 3. 원하는 row(행) 데이터 가져오기 SELECT * FROM Orders WHERE EmployeeID = 3; where 뒤에 구문을 붙여서 행 데이터를 가져올 수 있다...

Study/SQL 2022.09.14

Node.js 미들웨어 사용하기(bodyParser, compression)

오늘도 생활코딩 강의를 들으며 정리한 내용이다. 노드에서 미들웨어를 사용하여 코드를 더욱 간결하게 만드는 방법을 공부했다. bodyParser app.post('/create_process', function(request, response){ var body = ''; request.on('data', function(data){ body = body + data; }); request.on('end', function(){ var post = qs.parse(body); var title = post.title; var description = post.description; fs.writeFile(`data/${title}`, description, 'utf8', function(err){ resp..

Study/Node.js 2022.09.07
1 2 3 4 5 6 7 8 ··· 11