728x90
반응형
SMALL

2024/02 41

프로그래머스) 기사단원의 무기 Lv1

1래밸 문제들 중 손풀기용으로 정답률이 높은 문제를 풀었다! 약수의 갯수를 구하고 제한 숫자가 넘으면 해당 숫자로 변경해야하는 문제 약수를 구하는 방법이 생각이 나질않아 구글링해볼까.... 하다가 그럼 안되지! 하고 열심히 고민을 해서 풀어보았다 후다닥 풀고 슬적 기대하면서 코드 실행을 해봤는데 테스트1 통과 테스트2 실패 class Solution { public int solution(int number, int limit, int power) { int answer = 0; for(int i=1; i

코딩 테스트 2024.02.05

프로그래머스) 대충 만든 자판 Lv1

지난 문제만 어려운줄 알았는데 이번거도 쉽지않다;; 1래벨이 어려운건지 아님 내가 못하는건지.... 키보드의 자판순서를 위한 for문, targets를 비교하기위한 for문, 순서대로 처리하기 위한 for문 3개를 만들다보니 너무 어지럽고 정신없어서 처음부터 다시 코딩했다 (실패한 흔적 ↓ ) import java.util.*; class Solution { public int[] solution(String[] keymap, String[] targets) { int[] answer = new int[targets.length]; int chk = 0; for(int i=0; i

코딩 테스트 2024.02.04

프로그래머스) 명예의 전당(1) Lv1

오랜만에 코딩테스트를 시작하고 가장 오래 걸린 문제... 각 리스트를 정렬하고 k 번째의 값을 뽑아내면 되는 문제인데, 맨 처음 문제를 읽을 때 머릿속으로 정리가 되지 않아서 식을 생각해내지 못했다. 그리구 ArrayList를 사용해야하는 문제인데 일반 배열을 사용해서 문제를 푸려고 했다가 괜히 더 빙글빙글 돌았다... 다른 사람들의 답을 보니 다양한 답들이 많았는데 대부분 ArrayList()에 값을 넣은 뒤 정렬을 하고 k 값과 비교해서 list.remove(0) 하는 방식을 많이 사용하더라... 배열에 대해 다양한 방법을 고민할 수 있는 문제였다 정답 import java.util.*; import java.util.Arrays; class Solution { public int[] solution..

코딩 테스트 2024.02.04

프록시(Proxy) 서버

Proxy란 대리인이라는 뜻으로 프록시 서버는 사용자와 원래의 서버 사이에서 중개자 역할을 하며, 사용자의 요청을 대신하여 원 서버에 전달하고 그 응답을 사용자에게 전달합니다. 이 과정에서 프록시 서버는 자주 요청되는 데이터를 캐시에 저장해두어, 같은 요청이 다시 오면 캐시에서 바로 데이터를 제공하여 효율성을 높이는 역할도 합니다! 예를 들어 프록시서버가 없을 경우를 가정해보겠습니다. 한국의 클라이언트가 미국의 원 서버에 접속하려고 하려고 한다면 캐싱 기능을 사용할 수 없어 접속이 오래걸릴 뿐 아니라 원서버에 직접 접속하는 과정에서 사용자의 실제 IP가 노출되어 보안에 취약해질 수 있는 점 등등 다양한 단점들이 존재합니다. 프록시 서버를 사용하지 않을 경우 단점들 ① 보안 취약성 프록시 서버는 사용자의 ..

개발지식 2024.02.04

[Spring] Spring의 삼각관계 IOC와 DI, 그리고 AOP...

GPT-4가 말하길 스프링의 3대 핵심 개념은 DI, IOC, AOP 이다! 그러므로 우리는 서로 얽히고 설킨 IOC와 DI, 그리고 AOP에 대해 알아보자 (그리고 추가로 어떤 순서로 공부하는게 좋은지도 물어봄) 여기 게시글에서는 IOC와 DI, AOP의 각각 연관성에 대해 설명하고 하나하나 별도의 게시글로 상세 내용을 다루겠습니다! IOC(Inversion of Control) 는 객체의 생성과 생명주기 관리를 개발자가 아닌 Spring 컨테이너가 담당하는 프로그래밍 기법입니다. IOC는 개발자가 직접 객체를 생성하고 참조하는 것이 아닌 Spring 컨테이너가 알아서 처리하도록 합니다. DI(Dependency Injection) 는 객체 간의 의존성을 외부에서 주입받는 방식을 의미합니다. IOC C..

개발지식 2024.02.04

[Spring] AOP(관점 지향 프로그래밍)이란?!

AOP란! Aspect Oriented Programming - 관점 지향 프로그래밍이다. Aspect : 관점 Oriented Programming : 지향 프로그래밍 말 그대로 특정한 관점에 따라 프로그래밍을 한다는 뜻입니다! 여러 객체에 공통적으로 적용할 수 있는 기능을 따로 정의해서 다른 객체에 삽입하여 코드의 재사용성을 높여주는 프로그래밍 기법! 즉, 어떤 로직을 기준으로 핵심적인 관점(Core concern), 부가적인 관점(Cross-cutting Concern)으로 나누어서 보고 그 관점을 기준으로 각각 모듈화 하겠다는 의미입니다. ● 핵심적인 관점(Core concern) : 개발자가 적용하고자 하는 핵심 비즈니스 로직. ● 부가적인 관점(Cross-cutting Concern) : 핵심..

개발지식 2024.02.03

프로그래머스) 추억 점수 Lv1

오랜만에 코딩테스트 문제를 풀어봤는데 이렇게 어려웠었나.... 자주 안쓰던 문법들을 쓰려니 머리가 안돌아갔다(문제는 출처 란에) 결국 질문하기에서 풀이 힌트(코드X) 를 참고해서 문제를 풀었다. Map 을 사용해서 String과 Int 를 선언 후 name 과 yearning 값을 각각 선언하여 넣어놨다. 그 뒤에 2중 루프를 돌려서 add 값에 점수를 넣어줬는데 에러가 발생?! 확인해보니 null 값일 경우 널처리를 안해줘서 에러가 떨어졌다! if(loof.get(photo[i][j]) == null) continue; 널 처리를 한 후 문제 clear~ 정답 import java.util.*; class Solution { public int[] solution(String[] name, int[] ..

코딩 테스트 2024.02.03

Java에서 length, length(), size()의 차이점!

코딩 테스트 문제를 풀다가 헷갈릴 부분이 있을 것 같아 작성합니다! 종류 배열 문자열 컬렉션 반환값 int int int 사용법 배열.length 문자열.length() 컬렉션.size() length: 배열의 길이를 반환합니다. 배열은 고정 크기이므로 길이를 변경할 수 없습니다. length(): 문자열의 길이를 반환합니다. 문자열은 가변적이므로 길이를 변경할 수 있습니다. size(): 컬렉션의 요소 개수를 반환합니다. 컬렉션은 요소를 추가하거나 제거할 수 있으므로 크기가 동적으로 변경될 수 있습니다. length : 배열 length는 배열의 길이를 나타내는 속성입니다. 배열을 생성할 때 크기를 지정하고, 이 크기는 배열의 길이가 됩니다. 예: int[] array = new int[5];에서 ar..

코딩 테스트 2024.02.02

spring과 springBoot 의 차이점

Spring은 스프링 프레임워크의 핵심 모듈을 모아서 만든 프레임워크입니다. Spring에서는 개발자가 직접 설정 파일을 작성하여 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고, 빈 객체 간의 의존성을 설정해야 합니다. Spring은 특정한 구성을 위해 추가적인 라이브러리와 설정이 필요합니다. 반면, Spring Boot 는 스프링 프레임워크를 보다 쉽게 사용할 수 있도록 만든 프레임워크 입니다. Spring Boot에서는 개발자가 설정 파일을 작성할 필요 없이, 프로젝트의 설정과 라이브러리 의존성을 자동으로 처리해주는 기능을 제공합니다. 또한, Spring Boot는 실행 가능한 JAR 파일을 만들 수 있습니다. 여기에서 알 수 있는 내용은 Spring과 Spring Boot 둘 다 java ..

개발지식 2024.02.02
728x90
반응형
LIST