본문 바로가기

개발

이것이 자바다 정리-1장 자바 시작하기 제가 부족했던 부분 위주로 정리하고 제 생각을 담은 것이기에 틀린 내용이 있을 수도 있습니다. 자바란? 자바의 특징 이식성이 높은 언어 자바로 개발된 프로그램은 운영체제에 따라 재컴파일할 필요없이 JRE(Java Runtime Environment)이 설치된 모든 운영체제에서 실행가능 객체 지향 언어 객체를 만들기 위해 설계도인 클래스를 작성해야 하고, 객체와 객체를 연결하여 목적에 맞는 프로그램을 만든다. 함수적 스타일 코딩을 지원 대용량 데이터의 병렬 처리 그리고 이벤트 지향 프로그래밍에 적합한 함수적 프로그래밍을 위해 람다식을 자바 8부터 지원 메모리를 자동으로 관리 자바는 개발자가 직접 메모리에 접근 불가, 메모리는 자바가 관리. 객체 생성시 자동적으로 메모리 영역을 찾아서 할당, 사용 후에 Ga.. 더보기
스파르타코딩(신년운세코딩)1일 취업 목표는 자바 백엔드이지만, 프론트엔드의 흥미로움(적용하면 바로 눈에 보이는)과 내가 제작하고자 하는 사이트를 직접 제작을 위해 간단하게나마 HTML, CSS, JS를 훑어보려고 참여했습니다. 웹페이지에서 HTML, CSS, JS가 담당하는 부분 HTML: 뼈대 CSS: 꾸미기 JS: 움직이는 것 HTML은 head와 body로 구성 head는 페이지의 속성정보(meta, script, link, title) 담당 body는 페이지의 내용 담당 body 요소 예시 나는 구역을 나누죠 나는 문단이에요 bullet point!1 bullet point!2 h1은 제목을 나타내는 태그입니다. 페이지마다 하나씩 꼭 써주는 게 좋아요. 그래야 구글 검색이 잘 되거든요. h2는 소제목입니다. h3~h6도 각자의.. 더보기
정수 내림차순으로 배치하기 https://programmers.co.kr/learn/courses/30/lessons/12933 코딩테스트 연습 - 정수 내림차순으로 배치하기 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이 programmers.co.kr 이전에 비슷한 문제를 풀었을 때 다른 사람분의 풀이를 봤을 때 숫자의 위치를 바꿔야 할때 byte단위로 나눠서 풀었던 것이 생각나서 이렇게 풀었습니다. package sortdescend; public class SortDescend { public static long solution(long n) { Strin.. 더보기
정수 제곱근 판별 https://programmers.co.kr/learn/courses/30/lessons/12934 코딩테스트 연습 - 정수 제곱근 판별 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함 programmers.co.kr package sqrt; public class Sqrt { public static long solution(long n) { double answer = Math.sqrt((double)n);//제곱근반환 if((answer-Math.floor(answer))!=0) {//만약 나온 제곱근을 버림한게 원래 제곱근과 같지 않다면 .. 더보기
제일 작은 수 제거하기 https://programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr package programmers; //내가 쓴 코드 import java.util.Arrays; public class 제일작은수제거하기 { public static void main(String[] args) { int[] array = {1,4,3,2}; System.out.println(Arrays.toS.. 더보기
최대공약수, 최소공배수(유클리드호제법) https://programmers.co.kr/learn/courses/30/lessons/12940 코딩테스트 연습 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 programmers.co.kr 파이썬에도 풀어봤던 최대공약수, 최소공배수 문제인데, 유클리드의 호제법이 기억나지 않아 삽질하다가 결국 유클리드호제법을 찾아보고 풀었습니다. 기존 문제 풀이기법(1이 나올때까지 2부터 나눠서 나눠지면 그 수를 저장하는 방식)에 비해 용량이 3분의 2수준으로 줄었고 시간도 단축되서, 이 방식으로 푸는 게 맞다는 것을 깨달았습니다. .. 더보기
하샤드 수 https://programmers.co.kr/learn/courses/30/lessons/12947 코딩테스트 연습 - 하샤드 수 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하 programmers.co.kr 이번 문제는 한번에 풀지 못했는데, 간단한 문제였음에도 불구하고 단계를 적어보지 않고 바로 문제풀이에 들어가서 틀렸다. 간단한 문제라도 한번쯤 설계를 적어보고 개발하는 습관을 가져야겠다. 각자리의 숫자를 추출하려면 각 자리 단위로 나눠야 하는데, 매번 10으로 나누어서 문제가 풀리지 않았다. 기억할 메소드는 Math.log10(x), .. 더보기
콜라츠 추측 https://programmers.co.kr/learn/courses/30/lessons/12943 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음과 같습니다. 1-1. 입력된 수가 짝수라면 2 programmers.co.kr 최근에 콘솔로 회원제 게시판으로 단련되서 그런지 비교적 간단한 제어문을 요구한 문제였습니다. // 내 코드 class Solution { public int solution(int num) { int answer = 0; while(num !=1){ if(answer==500){ return -1; } if(num%2==1){ nu.. 더보기