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에서 연산자 "+="을 사용하는 건 새로운 객체를 계속 만들어내는 명령이다.인덱스가 정해진 자료(요일 등)의 경우 배열..
6일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~4224.07.1943~4724.07.2248~50 - 회고48. K번째수https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr- 풀이과정import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.lengt..
Map 기본 문법 및 사용법
·
Java & Spring/Java
선언 및 초기화Map map = new HashMap();으로 선언 및 초기화 하며 key와 value의 type을 정해주면된다. import java.util.HashMap;import java.util.Map;public class Main { public static void main(String[] args) { Map map = new HashMap(); }}갑 추가map.put(key, value); map.put("a", 1);map.put("b", 2);map.put("c", 3);값 읽기map.get(key); → 해당 key의 value 출력 int value = map.get("a"); // value는 1값 삭제map.remove(key); → 해당 ke..
배열 부분 복사 'Arrays.copyOfRange()'
·
Java & Spring/Java
Arrays.copyOfRange()는 원본배열의 일부분을 복사하는 메서드로 다음과 같이 사용한다. int[] copyarr = Arrays.copyOfRange(OriginalArray, Start index, End index);→ OriginalArray의 Start index부터 End index - 1 까지※ Start  indxe(포함), End index(미포함)import java.util.Arrays;public class CopyOfRangeExample { public static void main(String[] args) { int[] originalArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 배열의 일부분을 복사 ..
[TIL](2024)07. 19
·
Java & Spring/TIL
7월 19일 (금)프로그래머스 코딩테스트 5문제 진행 및 회고git 특강 재시청 및 실습 진행 문자열 값 비교 메서드 str.compareTo() 공부
5일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~4224.07.1943~47 - 회고https://school.programmers.co.kr/learn/courses/30/lessons/147355?language=java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr개선 전테스트 케이스 런타임 에러 발생import java.util.*;class Solution { public int solution(String t, String p) { int answer = 0; for(int i = ..
문자열 값 비교 'str.compareTo()'
·
Java & Spring/Java
문자열의 비교같다(0)다를경우 String str = "abcd";System.out.println(str.compareTo("abcd")); // 0(같은경우)System.out.println(str.compareTo("ab")); // 2(포함되었을 경우 길이차이)System.out.println(str.compareTo("a")); // 3(포함되므로 길이차이)// compareTo()는 같은 위치의 문자만 비교해준다.System.out.println(str.compareTo("c")); // -2(아스키 코드 'a'와 'c'의 차이값)System.out.println(str.compareTo("ABCD")); // 32(전혀 다른경우도 아스키 코드 차이값 ..
유클리드 호제법(최대공약수 구하기)
·
Java & Spring/알고리즘
◇ 유클리드 호제법 : 최대공약수를 구하는 알고리즘최대공약수(GCD) : 유클리드 호제법을 통해 구한다.최소공배수(LCM) : 두 수의 곱을 최대공약수(GCD)로 나눈다.두 수 A, B(A > B)에 대해 A / B의 나머지 C를 계산B를 C로 나눈 나머지 D를 계산C를 D로 나눈 나머지 E를 계산위 과정을 반복하여 나머지가 0이될 때 마지막 나누는 수가 최대 공약수가 된다.ex)1071과 1029의 최대공약수를 구하면 마지막 나머지가 0이되는 수 21이된다.1071은 1029로 나누어 떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 421029는 42로 나누어 떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 2142는 21로 나누어 떨어진다.◇ 구현1. 재귀함..
4일차 - 알고리즘 코드카타
·
Java & Spring/코딩테스트
- 진행일자완료 번호24.07.161~2024.07.1721~3524.07.1836~42- 회고최대공약수, 최소공배수 구하기* 유클리드 호제법- 구현- 에러발생   0으로 나누기 시도- 이유 : 처음 구현 시 최대공약수 값에 s를 대입했는데             while문의 조건에 s가 0이 아닐 때 까지이다, 그러므로 최종 s는 0이되게된다.            그렇기 때문에 최대공약수는 0이되기전 s 즉 tmp에 저장해둔값이 된다.배열에서 세수의 합이 0이되는 경우 찾기개선전삼중 for문으로 시간복잡도가 O(n^3)이된다.for문 중첩은 비효율적이므로 다른방법을 찾아봤다.class Solution { public int solution(int[] number) { int answe..