투 포인터(Two Pointer) 알고리즘(세 수의 합 구하기)
·
Java & Spring/알고리즘
◇ 알고리즘 정의- 1차원 배열에서 각 다른 원소를 가르키는 2개의 포인터를 조작해가면서 원하는 값을 탐색하는 알고리즘이다.◇ 알고리즘 동장방식◇ 알고리즘 구현import java.util.*;public class Main { public static void main(String[] args) { int[] nums = {0, -5, -2, 4, 6, 9, -1}; int target = 5; int count = 0; Arrays.sort(nums); for (int i = 0; i target) { r--; } else { count+..
8일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~4224.07.1943~4724.07.2248~5024.07.2351~5524.07.2456~57 - 회고57. 모의고사 : https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 풀이과정import java.util.*;class Solution { public int[] solution(int[] answers) { int[] m1 = {1, 2, ..
8일차 - Java강의(객체지향 ☆)
·
Java & Spring/Java
◇ 클래스- 객체란?객체는 세상에 존재하는 물체를 뜻하며 식별이 가능한 것을 의미객체는 속성과 행위로 구성Java에서는 이러한 속성과 행위를 필드와 메서드로 정의하여 구현※ 이처럼 현실 세계에 있는 객체를 소프트웨어의 객체로 설계하는 것을 ‘객체 모델링’이라함- 객체 간의 관계사용관계 : '사람 객체'가 '자동차 객체' 를 사용포함관계 : '엔진 객체', '타이어 객체', '핸들 객체'는 '자동차 객체'에 포함상속관계 : '자동차 객체'는 '기계 객체'를 상속받음- 객체지향 프로그래밍의 특징캡슐화필드와 메서드를 하나로 묶어 객체로 만든 후 실제 내부 구현 내용은 외부에서 알 수 없게 감추는 것외부 객체에서는 캡슐화 된 객체의 내부 구조를 알 수 없기 때문에 노출시켜준 필드 혹은 메서드를 통해접근할 수 있..
enhanced switch()문
·
Java & Spring/Java
- 기존 swich문switch (value) { case 1: System.out.println("One"); break; case 2: System.out.println("Two"); break; default: System.out.println("Default");} - enhanced swicth문switch (value) { case 1 -> System.out.println("One"); case 2 -> System.out.println("Two"); default -> System.out.println("Default");} ※ enhanced swich문은 단일 표현식만 사용가능
7일차 - Java강의(연산자, 조건문, 반복문, 배열, 컬렉션)
·
Java & Spring/Java
◇ 연산자https://djhelloworld.tistory.com/24 생활코딩 - Java(연산자)1. 산술연산자 + 더하기 - 빼기 * 곱하기 / 나누기 % 나머지 3번의 경우 a형태가 int이므로 float 형식으로 자동 형변환 실시 후 연산 2. 단항연산자 1+2에서 사용한 연산자 +는 이항(二두이 項항목항, indjhelloworld.tistory.com증감연산자[++, --]int a = 10;int b = 10;int val = ++a + b--;위 코드에서 int val = ++a + b--; 는 다음과 같이 진행된다.형변환연산자[ (type) ]double doubleNumber = (double) 93 + 98.8; // 93.0 + 98.8삼항연산자[ a 조건 b ? true : f..
7일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~4224.07.1943~4724.07.2248~5024.07.2351~55 - 회고51. 푸드파이터 대회 : https://school.programmers.co.kr/learn/courses/30/lessons/134240 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 풀이// 성능 : 메모리: 97.5 MB, 시간: 31.65 msclass Solution { public String solution(int[] food) { String answer =..
String, StringBuffer, StringBuilder의 차이점
·
Java & Spring/Java
코딩테스트 문제를 풀던 중Stirng "+="연산자 사용과 StringBuilder사용의 성능차이가 발생하는걸 확인하여 그에 대해 학습구분StirngStringBufferStringBuilder가변 여부불변가변가변스레드 세이프OOX연산속도느림중간빠름※ 스레드 세이프란 (thread-safe) ?멀티 스레드 환경에서 프로그램이나 코드가 여러 스레드에 의해 동시에 실행될 때,예상치 못한 결과나 오류 없이 정확하게 실행되는 것을 스레드 세이프(thread-safe)라고 합니다.◇ String// 스트링 리터럴로 스트링 객체 생성String str1 = "Hello";String str2 = "Hello";// String 클래스의 생성자를 이용해서 스트링 객체 생성Stirng str3 = new String(..
Scanner클래스 next()메서드 개행문자 처리
·
Java & Spring/Java
객체 생성import java.util.Scanner;Scanner scanner = new Scanner(System.in);다양한 메서드scanner.next() : 공백을 기준으로 다음 단어를 읽음, 개행 문자를 구분자로 사용하여 개행문자가 버퍼에 남지않음String s = sc.next(); // "hello world"입력 "hello" 출력scanner.nextLine() : 개행 문자까지의 전체 줄을 읽음, 개행 문자를 포함하여 읽어들임String s = sc.nextLine(); // "hello world"입력 "hello world" 출력scanner.nextInt(), scanner.nextFloat() : 공백을 기준으로 다음 단어를 읽고 개행 문자를 버퍼에 남겨둠nextLine()..
6일차 - Java강의(변수, 형변환)
·
Java & Spring/Java
◇ 개발 언어(Java)Java 탄생 배경공통실행환경, 클래스 객제Java를 왜 배워야 하는가?공통실행환경이 있어 여러 기기에서 실행 가능하다.세상과 닮아있는 객체지향 언어로 이해하기쉽고 유지보수가 쉽다.안정성이 높아 프로그래밍 오류를 방지하고 보안상 안전하다.대규모 앱 개발이 가능하다.다양한 개발도구와 라이브러리를 사용할 수 있다.JVM(JRE)란?Java Virtual Machine의 약자로 "자바 가상 머신"이라는 뜻Java프로그램을 실행시킬 수 있는 가상의 기기를 만들어주는것을 의미어느장비에든 JVM을 깔아주면 Java가 놀 수 있는 놀이터가 된다고 생각하면됨바이트 코드 : 내가 작성한 코드가 운영체제가 읽을 수 있는 코드로 Java 컴파일러가 변환한 코드인터프리터 : 운영체제가 읽은 바이트 코드..
[TIL](2024)07. 22 ~ 07. 26
·
Java & Spring/TIL
07월 22일 (월)- 오늘 한 일프로그래머스 코딩테스트 3문제 진행 및 회고Java Map객체 문법 및 사용법 공부Java 기초 문법강의 수강(1일차)Java Scanner클래스 next()메서드 개행문자 처리07월 23일 (화)- 오늘 한 일프로그래머스 코딩테스트 5문제 진행 및 회고Java String, StringBuffer, StringBuilder의 차이점 공부Java 기초 문법강의 수강(2일차)- 회고if 조건문 사용 시 조건의 순서도 중요하다.String은 불변일 때 효율적이고 가변일때는 StringBuffer이나 StringBuilder을 사용하는게 효율적이다.Stirng에서 연산자 "+="을 사용하는 건 새로운 객체를 계속 만들어내는 명령이다.인덱스가 정해진 자료(요일 등)의 경우 배열..