전체 글 39

10진수를 2진수로 변환하기

** 코딩테스트 합격자 되기 :: 자바편 출처 문제 설명10진수를 입력받아 2진수로 변환해 반환하는 solution() 함수를 구현하세요. 제약조건decimal은 1이상 10억 미만의 자연수 입출력의 예decimal= 10 >> 반환값: 1010decimal= 27 >> 반환값: 1101110진수를 2진수로 변환하는 과정은, 10진수의 수를 2로 계속 나눈 나머지를 구하고 > 제일 마지막(최근)에 구한 나머지부터 순서대로 읽으면 된다.ex) 10진수 13이 주어진 경우1. 13을 2로 나눈 나머지 1을 스택에 넣고2. 13을 2로 나눈 몫 6을 2로 나눈 나머지를 0을 스택에 넣고...몫이 0이 될때까지 반복한다.>> while문을 사용할 것. import java.util.*;class Solution..

올바른 괄호

https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어"()()" 또는 "(())()" 는 올바른 괄호입니다.")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다.'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 sol..

스택

FILO(First In Last Out) 먼저 들어간 것이 마지막에 나오는 규칙 = 선입후출이때, 스택에 삽입하는 연산을 push, 꺼내는 연산을 pop이라고 한다. 동작 원리초기에 빈 스택이 존재데이터 1 push > (아래) 1 (위)데이터 2 push > (아래) 1 2 (위)pop을 하면? > (아래) 1 (위), 맨 위에 있던 2가 빠져나옴데이터 3 push > (아래) 1 3 (위)pop을 연속 2번 하면? > (아래) 1 3 (위), 맨 위에 있던 3부터 '3', '1' 순서로 빠져나옴스택의 ADT(Abstract data type)ADT란? 우리말로 추상 자료형이다. 인터페이스만 있고 실제로 구현은 되지 않은 자료형자바는 컬렉션 프레임워크에서 Stack 클래스를 제공하기 때문에 클..

코딩테스트/etc 2025.05.08

250506 공모전 회의 기록

오늘은 팀원분들과 공모전 주제를 확정지을 차례였다.주제는 역사로 잡고, 각자 노션에 적어온 아이디어를 바탕으로 어떤 기능을 넣을지 상세하게 논의했다.그 중에서 나의 아이디어(100년 전 과거 사진과 현재 사진 비교해서 띄우기)가 채택되어서 기뻤다.서로의 의견을 주고 받으면서 피드백할 것은 하고, 뺄 건 빼고. 아주 군더더기 없이 깔끔한 진행이 이어졌다.나도 의견을 많이 보태서 이런 저런 이야기들을 했다.이제 개발을 어떻게 할 지가 관건인데..절대 이 팀에 피해를 주고 싶지 않는데 나의 개발 실력이 그에 못 미칠까봐 너무나도 걱정이 많다.그치만 내가 할 수 있는 최선을 다해서 한층 배우고, 성장하는 기회가 되고 싶다.파이팅!

배열의 시간 복잡도

Point데이터에 자주 접근하거나 읽어야 하는 경우, 배열을 사용하면 좋은 성능을 낼 수 있다.하지만 배열은 메모리 공간을 충분히 확보해야 하기 때문에할당할 수 있는 메모리의 크기를 확인하고, 배열로 표현하려는 데이터가 너무 많으면 런타임에서 배열 할당에 실패할 수 있다.중간에 데이터 삽입이 많은지 확인해야 한다. 배열은 선형 자료구조이기 때문에 중간이나 처음에 데이터를 빈번하게 삽입하면 시간 복잡도가 높아져 시간초과가 발생할 수 있다는 점이다.또한, 원본 배열을 그대로 수정하지 않길 원한다면, clone()메서드를 사용하여 배열을 복사해서 사용하자. sort() 메서드 사용할 경우와 O(N²) 알고리즘 사용할 경우버블정렬은 1초가 걸리지만, sort() 메서드는 0.1초도 걸리지 않는다. 시간 차이가 ..

코딩테스트/etc 2025.04.10

코딩 테스트 필수 문법

Primitve(기본형), Reference(참조형) 타입레퍼런스 타입은 프리미티브 타입보다 연산 속도가 더 느리다. 앱실론(epsilon)자바는 float, double 등의 실수 를 부동소수점 방식을 사용하여 표기한다. 부동 소수형 데이터를 이진법으로 표현하기 때문에 표현 시, 오차가 발생할 수 있다. 이를 앱실로이라고 한다.코테에서 부동소수형 데이터를 다룰 땐, 이 앱실론을 생각하여 오류를 방지해야 한다.대부분의 언어가 하드웨어 수준에서 정해진 국제표준을 따르기 때문에, 0.1이나 0.2와 같은 소수를 정확하게 표현해주지 않는다.예를 들면 소수점 비교 시, == 연산자를 사용하면 예상과 다른 결과를 얻을 수 있다.정밀 계산이 필요하면 Bingdecimal, Decimal등의 정확한 수치 타입을 사용..

코딩테스트/etc 2025.04.09

시간 복잡도

가장 효율적으로 해결하는 알고리즘이 각 코테 문제에 존재한다.우리는 여러 알고리즘 중 당연히 문제를 빠르게 푸는 알고리즘을 선택해야 한다.그렇다면 어떤 것을 기준으로 알고리즘을 선택해야 할까? -> 바로 '시간 복잡도'를 보고 선정해야 한다. 시간 복잡도 시간 복잡도란, 알고리즘의 성능을 나타내는 지표로, 입력 크기에 대한 연산 횟수의 상한을 의미한다. 시간 복잡도는 낮으면 낮을 수록 좋다.입력크기는 쉽게 말해서, 알고리즘이 처리해야 할, 데이터 양이라고 생각하면 된다. 책장에 꽂혀있는 5권의 책을 정리해야 하는 문제라면, 이때의 입력 크기는 5가 된다. 1차원 배열 검색하기값을 가장 빨리 찾는 경우검색 시작 위치에 찾을 값이 바로 있는 경우이다. = 연산 비교 횟수가 최소임값을 가장 늦게 찾는 경우아예..

코딩테스트/etc 2025.04.09

블로그 화면 구성(feat. Thymeleaf)

Thymeleaf (타임리프)타임리프는 템플릿 엔진이다. 그럼 템플릿 엔진이란? 스프링 서버에서 데이터를 받아 우리가 보는 웹페이지, HTML상에 그 데이터를 넣어 보여주는 도구이다. 따라서 HTML과 함께 템플릿 엔진을 위한 문법을 살짝 섞어서 사용해야 한다.타임리프 표현식표현식설명${...}변수의 값 표현식#{...}속성 파일 값 표현식@{...}URL 표현식*{...}선택한 변수의 표현식. th:object에서 선택한 객체에 접근 타임리프 문법표현식설명예제th:text텍스트를 표현th:text=${person.name}th:each컬렉션을 반복할 때 사용th:each="person:${persons}"th:if조건이 true인 때만 표시th:if="${person.age}>=20"th:unless조..

두 수의 합

문제 설명0 이상의 두 정수가 문자열 a, b로 주어질 때, a + b의 값을 문자열로 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ a의 길이 ≤ 100,0001 ≤ b의 길이 ≤ 100,000a와 b는 숫자로만 이루어져 있습니다.a와 b는 정수 0이 아니라면 0으로 시작하지 않습니다.입출력 예a b result"582""734""1316""18446744073709551615""287346502836570928366""305793246910280479981""0""0""0"나의 답안// 정수형으로 푠할 수 있는 값의 한계로 인해 더 큰 값을 다뤄야 할 경우 BigInteger클래스를 사용한다.long 타입보다 훨씬 큰 값을 다룰 수 있다.// BigInteger에 정의된 정수형..

코딩테스트 준비

데이터의 흐름이나 (문제)구성을 먼저 파악할 것만약 데이터의 삽입과 삭제가 빈번하게 일어나는 상황에서 최댓값 혹은 최솟값을 반복하여 구해야 한다면 힙 자료구조를 고려하는 게 좋을 수 있다.데이터가 50개 미만이고, 입력값을 깔끔하게 정리하기 어렵다면 하드 코딩을 고려하기도 한다.데이터의 값의 차이가 크면 데이터 값 자체를 배열의 인덱스로 활용하는 건 피하는 것이 좋다. (ex, {1, 10100, 5000}으로 데이터가 구성되어 있을 경우, 나머지 2~4999등의 공간은 사용하지 않는 공간이지만 메모리가 할당되므로 낭비이기 때문) 의사코드 작성하기세부 구현까지는 작성하지 말기.ex) 국어, 영어 수학 점수를 입력받는다 (O)ex) 크기가 256 바이트인 문자열 배열을 3개 선언해서 표준 입력으로 국어, ..

코딩테스트/etc 2025.04.01