전체 글
![[프로그래머스/JAVA] Level 2. 이진 변환 반복하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcgjWTc%2Fbtsa6cJLpzI%2FJMUBSUAkNkUXaaWtZHvCi1%2Fimg.png)
[프로그래머스/JAVA] Level 2. 이진 변환 반복하기
programmers.co.kr/learn/courses/30/lessons/70129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #문제 설명 0과 1로 이루어진 어ㄸ너 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. 1. x의 모든 0을 제거합니다. 2. x의 길이를 c라고 하면, x를 c를 2진법으로 표현한 문자열로 바꿉니다. 위 과정을 x가 1이 될때까지 반복하며 전체 반복 횟수와 0을 없앤 횟수를 반환하시오. #나의 풀이 class Solution { public int[] solution(String x) { int[] answer =..

LV2. 최솟값 만들기 With Java
문제 접근 방식 배열A를 내림차순 정렬 배열B를 오름차순 정렬 반복문을 통해 A[i] * B[i]를 answer에 +=; 1차 시도 import java.util.Arrays; import java.util.Collections; class Solution { public int solution(int []A, int []B) { int answer = 0; Integer[] C = Arrays.stream(A).boxed().toArray(Integer[]::new); Arrays.sort(C, Collections.reverseOrder()); Arrays.sort(B); for(int i = 0; i < A.length; i++){ answer += (C[i] * B[i]); } return ans..
CS 스터디 4회차 정리
부트캠프에서 힘든점이 있었다면 극복한 경험을 설명해 주세요. @SpringBootTest와 @WebMvcTest의 차이점을 설명해주세요.@SpringBootTest는 프로젝트의 전체 컨텍스트를 로드하여 빈을 주입하기 때문에 속도가 느리고, 통합 테스트를 할 때 많이 사용합니다. 반면, @WebMvcTest는 MVC 부분 슬라이스 테스트로, 보통 컨트롤러 하나만 테스트하고 싶을 때 사용합니다. @WebmvcTest()의 프로퍼티로 테스트를 원하는 컨트롤러 클래스를 넣어줍니다. @SpringBootTest는 수많은 스프링 빈을 등록하여 테스트에 필요한 의존성을 추가하기 때문에, 필요한 빈만을 등록하여 테스트를 진행하고자 한다면 슬라이드 테스트 어노테이션인 @WebMvcTest를 사용하는것이 더 효율적입니다 ..
CS 면접 스터디 정리 3회차
AOP가 무엇인가요? 먼저 oop를 간단하게나마 설명드리자면 oop는 클래스입니다. 코드에는 변수나 함수 등이 작성되는데 이것을은 클래스라는 묶음 안에 들어가게 됩니다. 이러한 묶음을 oop, 즉 객체라고 하고, 이러한 객체들로 이루어져있는 코드를 객체지향적 코드라고 합니다. oop를 먼저 설명드린이유는 aop는 이런 oop를 기반으로 작성된 코드를 지키면서 아주 살짝만 변형되기 때문입니다. 예를들어 결제, 로그인, 게시글 3가지의 클래스를 작성했다고 생각해봅시다. 이 3가지에는 로그인이 되었는가? 인가에 대한 코드가 들어갈 수 있고, 제대로 실행이 되었는지 확인하는 로깅 관련 코드도 들어갈 수 있습니다. 하지만 이러한 코드들은 무조건 필요하지만 서비스 로직의 명확성에 일치하지 않고, 중복된 코드가 여럿..
CS 면접 스터디 2회차
제네릭이란 무엇이고, 프로젝트에 적용사례가 있다면 설명해주세요. 제네릭이란 클래스 내부에서 사용할 데이터 타입을 외부에서 지정하는 기법입니다. 저희 프로젝트에서 외부에서 같은 목적을 가지고 있는 클래스가 중복이 되는 경우가 있었습니다. 따라서 저희는 중복되는 클래스를 합치는데 서로 다른 인자를 받고있기에 가장 최상위 타입인 Object를 매개체로 사용한 클래스를 만들었었습니다. 하지만 들어오면 안되는 다른 오브젝트 타입이 왔을 때 에러가 나지 않았습니다. 저희의 코드의 목적과 일치하지 않았던 겁니다. 따라서 저희는 타입이 안전해지지 않는 상황을 해결하기 위해서 제네릭을 사용했습니다. JWT토큰 인증에 대해 아는 만큼 설명해 주시겠어요? JWT토큰은 인증인가 즉 로그인 기능에 사용됩니다. 여기서 인가(Au..