목록전체 글 276
재밌고 어려운 IT를 이해해보자~!
이진 탐색(Binary Search)의 개념 정렬되어 있는 데이터에서 원하는 값을 찾아내는 탐색 알고리즘 입니다. 이진 탐색은 이분탐색이라고도 불리며 정렬된 데이터에서 탐색구간을 반복적으로 반으로 줄여나가며 원하는 값을 찾아 내는 방식으로 동작합니다. 주로 배열에서 사용되며 리스트, 트리 자료구조에서도 사용이 가능합니다. 주의점! 이진 탐색을 사용할 때에는 반드시 배열 내의 데이터가 오름차순 또는 내림차순으로 정렬되어 있어야 합니다. 보통의 경우 '오름차순으로 정렬된 데이터' 를 사용합니다. (정렬의 방향에 따라 탐색 범위를 좁혀가는 방향이 다르다) 이진 탐색의 목적 이진 탐색의 목적은 데이터 양이 무수히 많을 때 원하는 값을 빨리 찾기 위한 것이 목적입니다. 검색 대상의 크기와 상관없이 빠른 검색 속도..
1092 3개의 수에대한 최소공배수 찾기 반복문을 통해서 쉽게 생각할 수 있다 . 최소공배수 A를 만족하려면 3개의 수로 각각 나누었을때 0을 만족해야하며 그 값들중에 가장 작아야한다! 0부터 증가하며 찾는 첫번째 값. 3개의 입력을 각각 나눴을때 0인값을 찾아야 하기 때문에 3개의 입력을 각각 나눴을때 0이 아니면 계속 지나가야한다. 한글코딩 세 수를 각각 a, b, c라고 입력받고 최소공배수는 A이면 int A = 0; while (A/a가 0이 아니고 A/b가 0이 아니고 A/c가 0이 아니면) { A 1 증가. } 이렇게하면 A가 A/a == 0 , A/b == 0, A/c ==0 을 만족할때 -> 즉 최소공배수를 찾았을때 반복문을 종료한다. import java.util.Scanner; publ..
프로그램 프로그램의 정의는 다음처럼 되어있다. 1. 어떠한 일의 진행 계획이나 순서. 2. 어떤 문제를 해결하기 위해 컴퓨터에 자료 처리 방법과 순서를 기술한 일련의 명령문의 집합체 비슷한 말로는 sw, 어플리케이션,앱 등이 있고 항상 고객의 needs 에 따라서 제작하는 것이 중요하다. 우리는 명령어를 통해 고객이 쓰기 좋은 학생부 프로그램을 제작 해 볼것이다. 제작하기에 앞서 명령어를 바로 치는것이 아닌 설계단계를 꼭 거쳐야한다. 고객의 사용하는 주요기능 CRUD Create, Read, Update, Delete를 뜻하며 데이터를 다루는 주요 비지니스 메서드, 핵심 로직, 관심 이다. 학생부 프로그램의 설계를 진행해보자. [1] 설계 : 학생부 CRUD 생각해보기 => LP 로직 프로세스 C : 학..
다음 변수 선언이 메모리에 어떤 영향을 미치는지 알아보자. int stu1=80; int stu2=15; int stu3=60; int ->4바이트 공간을 만들고 만들면 주소가 나온다 하지만 복잡함으로 stu1로 지정. 상위 코드는 메모리에 공간을 3개를 만든다. 총 12바이트 초기화(값 설정이) 되지않은 변수 출력 xxxx 변수가 생성될 수 있는 공간 위치는 랜덤하다. 주소값은 생성될때마다 바뀐다. 배열이란 ? 여러개의 변수를 깔끔하게 정리해서 한 공간에 저장할수있도록 하는 "자료형" 이점- 1. 보다 더 많은 공간을 활용할 수 있음 2. 데이터를 접근할때 보다 빠르게 접근가능 배열선언 ! int[] stuArr = new int[3]; new 연산자 ★ 개발자 전용 메모리 공간(Heap 메모리) 에 ..
중복되는 내용도 많이 있어서 새로운문제 유형이거나, 문제를 풀 때 알아야 했던 내용들에 대해 정리해 보았다. Split(나눌기준) 문자열에서 특정 문자를 기준으로 문자를 문자 배열에 나눠 저장할 수 있다. Integer.parseInt (문자열) 문자열에 숫자가 담겨있으면 그것을 int형으로 반환해준다. String.format(원하는형식, 숫자) 문자열의 형태를 지정해줄 수 있다. import java.util.Scanner; class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String ymd = scan.next(); scan.close(); String[] temp = ymd.spl..
형변환 자바에는 다양한 자료형이 존재한다. 때때로 우리는 그것들의 형을 변경해서 사용해야 원하는 출력을 얻을 수 있다. 예시코드- package class01; public class Test01 { public static void main(String[] args) { // [문제] // 10,7,2가 저장된 변수가 3개 있습니다. // 세 변수 a,b,c의 총합을 출력해주세요. // "10,7,2의 총합은 19입니다." // 그리고 // 세 변수의 평균값을 출력해주세요. // "10,7,2의 평균은 6.333333입니다." // 만약, 평균값이 5이상이라면 // 평균이 높습니다! // 만약 평균값이 5미만이라면 // 평균이 낮습니다... // 라고 출력해주세요!~~ int a=10, b=7, c=2..
2번째 과제 Codeup 2시간 1시간 동안 풀기!!!!!!!!!!!!!!!! 프로그래머스는 좀 풀었는데...CodeUp을 풀어둘걸 그랬다.. 처음들어본다. 풀었던 문제중에 잘 알지 못했던 것들에 대해 정리하고자 한다. 유니코드란, 숫자와 글자, 즉 키와 값이 1:1로 매핑된 형태의 코드 인것이다.다시말해 아스키코드로 0x41 = A 로 매핑된 것 처럼, 아스키코드로 표현할 수 없는 문자들을 유니코드라는 이름 아래 전 세계의 모든 문자를 특정 숫자(키)와 1:1로 매핑한 것이다. 기본 출력은 스킵하고 오늘 배우지않았던 Scanner 클래스! import java.util.Scanner; public class Main { public static void main(String[] args) { Scann..
혼자만의 공부시간이 끝나고~~~~~~ KoreaIT아카데미 에서 진행하는 Spring 기반 핀테크 개발자 양성과정을 듣게 되었다! 간단한 OT를 끝내고 바로 수업을 진행해주셨다. JAVA 란 ?! 객체 지향 언어이다. C언어가 문제해결 파이썬이 채팅형 언어라면 자바는 하나의 틀을 만들어 뭘 넣는지에 따라서 편하게 변할 수 있는 틀을 제공하는데 특화되어있다. 한국은 자바공화국이라고 불릴만큼 자바를 많이쓴다고한다 ! Class 자바의 기본단위로 Class라는 녀석이 있는데 Class는 자바의 기본단위이며 이게 바로 객체를 생성하기 쉽게 도와주는 것이다. Class 가 있으면 객체를 찍어낼 수 있다. (비슷한 느낌으로 붕어빵틀이 있으면 붕어를 찍어낼 수 있다.) 자바의 파일단위는 다음처럼 이루어진다. .jav..