1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정행렬의 곱셈 방식을 알고 있다면 어렵지 않게 풀 수 있는 문제이다.행렬의 곱셈 방식 1. A의 열과 B의 행의 크기(k)가 같아야 성립한다. 2. 결과 배열의 크기는 [A의 행 크기(m)][B의 열 크기(n)]이다. 3. 결과 행렬 (i,j)의 성분은 A의 i번째 행, B의 j번째 열의 성분들을 각각 순서대로 곱하고 더한 값과 같다. 4. 각각의 성분에 대한 연산 횟수(덧셈 횟수)는 A의 열(또는B의 행)수(k)와 같다.이점을 알고 있다면 쉽게 구현할..
1. 문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr2. 풀이 과정학생들의 찍는 규칙을 먼저 정리해봤다학생 1: {1, 2, 3, 4, 5} 반복학생 2: {2, 1, 2, 3, 2, 4, 2, 5} 반복학생 3: {3, 3, 1, 1, 2, 2, 4, 4, 5, 5} 반복시험문제와 학생의 찍는 패턴을 비교해서 각각 채점하는식으로 문제를 풀면 될 것 같다.학생의 찍는 패턴은 배열 3개로 저장3개의 count 변수를 통해 세 학생의 맞은 갯수 저장그렇게 세 학생의 맞은 갯수를 저장 한뒤 비교해서 제일 많이 맞은 학생을 결과로 반환하면 된다.(중복 시 여러명..
1. 문제 2. 풀이 과정배열에서 두 개씩 뽑아 더 한다.이 문제에서 함정은 중복이다. 두 수를 더한 결과가 중복되면 결과 배열에 포함되면 안된다. ex) [5, 0, 2, 7] → (5 + 2) = 7, (0 + 7) = 7 --> 7은 한번만 저장되어야 함이후 오름차순으로 정렬 3. 내 코드import java.util.*;class Solution { public int[] solution(int[] numbers) { int[] answer = {}; ArrayList temp = new ArrayList(); for(int i = 0; i 시간 복잡도O(N^4)temp 리스트의 최대 크기는 배열에서 두 개의 수를 뽑는 경우인 n(..
Intro 코딩테스트에서 문자열을 변경하는 연산이 많을 때 흔히 StringBuilder를 사용한다. 성능상에 이점이 있어 그렇다고 하는데 구체적으로 왜 이점이 발생하는지 알아보고자 한다. String vs StringBuilder String은 이뮤터블 객체(Immutable Object)이다. 즉, 객체의 값을 변경할 수 없고 값을 변경하게 되면 다른 객체가 생성된다. 반면 StringBuilder는 뮤터블 객체(Mutable Object)이다. 즉, 객체의 값을 변경해도 기존 객체가 유지된다. 바로 이점이 성능의 차이를 발생시키는 것이다. 객체에 hello를 할당 한 뒤, 이후에 world를 추가한다고 했을 때: 1) String String s = "hello"; System.out.println..