본문 바로가기

전체 글31

[Java & Python] 프로그래머스: 택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 택배는 1부터 n까지 순서대로 들어옵니다. 택배 순서와 스케줄이 맞으면 바로 처리하고, 그렇지 않으면 무조건 서브컨베이어에 넣습니다. 그 후 서브컨베이어와 스케줄을 비교하여 맞으면 계속 처리합니다. n번째 택배까지 처리한 다음 처리된 만큼의 택배 숫자를 반환합니다. Stack과 Queue 자료형을 잘 활용하는 것이 중요한 문제였습니다. 단, Python의.. 2022. 12. 29.
[Java & Python] 프로그래머스: 롤케이크 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/132265?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해설 리스트를 잘라서 중복되지 않는 원소를 세는 식으로 풀 수 있는 문제입니다. 다만 일부 원소를 추출하여 집합형 자료형으로 만드는 과정이 시간 효율성이 떨어지기 때문에 이와 같은 방식으로는 풀 수 없습니다. Hash를 이용한 자료형을 이용해서 원소를 세서 문제를 해결할 수 있습니다. Java import java.util.*; class Solution { .. 2022. 12. 19.
[Python & Java] 프로그래머스: 우박수열 정적분 https://school.programmers.co.kr/learn/courses/30/lessons/134239?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 콜라츠 추측이란 로타르 콜라츠(Lothar Collatz)가 1937년에 제기한 추측으로 모든 자연수 n에 대해 다음 작업을 반복하면 항상 1로 만들 수 있다는 추측입니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2.결과로 나온 수가 1보다 크다면 1번 작업을 반복합니다. 예를 들어 주어진.. 2022. 12. 17.
[Python] 프로그래머스: 디펜스 게임 프로그래머스: 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 명세 문제 설명 준호는 요즘 디펜스 게임에 푹 빠져 있습니다. 디펜스 게임은 준호가 보유한 병사 n명으로 연속되는 적의 공격을 순서대로 막는 게임입니다. 디펜스 게임은 다음과 같은 규칙으로 진행됩니다. 준호는 처음에 병사 n명을 가지고 있습니다. 매 라운드마다 enemy[i]마리의 적이 등장합니다. 남은 병사 중 enemy[i]명 만큼 소모하여 enemy[i]마리.. 2022. 12. 12.
도커 이미지와 컨테이너 도커 이미지와 컨테이너 이미지와 컨테이너 개념 도커 이미지란 컨테이너를 만들기 위한 설계도 역할을 하는 것이다. 이미지의 내용대로 컨테이너를 만들 수 있으므로 새로운 컨테이너를 만들 때 편리하다. 반대로 컨테이너로도 이미지를 만들 수 있다. 필요한 컨테이너 상태를 이미지화하여 배포할 수 있으므로 컨테이너 생성과 복제가 편리하다. 따라서 같은 내용의 컨테이너를 여러 개 만들 때도 사용할 수 있다. 도커 이미지를 이용해 컨테이너를 여러 개 생성할 수 있으므로 다른 도커 위에서 같은 컨테이너 생성도 가능하다. 즉, 이미지를 공유할 경우 나와 같은 환경을 배포한 것과 같은 효과가 생긴다. 따라서 다른 사람들이 만든 이미지를 받아 내가 활용할 수 있다. 이런 식으로 도커 이미지를 공유하는 도커 허브라는 사이트가 .. 2022. 12. 11.
도커(Docker) 개요 도커 개요 도커란? 도커란 데이터 또는 프로그램을 격리시키는 기능을 제공하는 소프트웨어이다. 격리가 필요한 이유 프로그램을 실행하기 위해서는 그 프로그램의 실행 환경이나 라이브러리가 필요하다. 한 시스템 환경에서 여러 프로그램을 실행하게 되면 프로그램 버전 간 의존성 문제가 생길 수 있다. ⇒ 도커 컨테이너를 이용해서 프로그램을 격리하면 문제 해결 가능 도커 컨테이너는 이미지로 내보낸 다음 다른 도커 엔진에서 다시 실행 가능하다. ⇒ 이를 이용해서 물리적 환경의 차이, 서버 구성의 차이를 무시 가능 💡격리 이유: 프로그램 의존성 문제 해결 & 하드웨어 의존성 문제 해결 도커의 동작 방식 도커는 Linux 위에서 실행된다. 도커 엔진 위에서 컨테이너가 동작한다. 컨테이너에서 도커 이미지를 실행시킨다. Li.. 2022. 12. 11.
[SOMA] 소프트웨어마에스트로 13기 수료 후기 지원과정 서류 ➡️ 1차 코딩테스트 ➡️ 2차 코딩테스트 ➡️ 면접 ➡️ 최종합격 서류 서류의 경우 합격에 크게 영향주는 요소인 것 같지는 않습니다. 지금 돌아보면 정말 말도 안되는 내용이나 이상한 내용이 많았는데, 지원할 당시에 너무 정신이 없었다보니 솔직히 많이 신경쓰지 못했습니다. 그렇지만 면접관 분들도 많은 지원자들을 심사하다 보니 서류 내용을 꼼꼼하게 신경쓰지 않으셨고 면접볼 때 "제가 자기소개서에도 썼듯이" 같이 말했을 때 아무도 모르셨고 그제서야 서류를 보는 눈치셨습니다. 그렇기 때문에 서류의 경우에는 뭔가를 너무 꾸미려고 하지 말고 지원할 때 현재 자신이 어떤 경험을 했고, 어떤 역량이 있는지 솔직하게 적는 게 좋을 것 같습니다. 오히려 너무 거창하게 쓰려다가 면접에서 역풍을 맞는 경우가 .. 2022. 12. 10.
Junit assertArrayEquals를 이용하여 array 비교하기 java array 비교하기 Junit을 이용해서 결과를 테스트하다보면, array를 비교해야 할 경우가 생긴다. 이런 경우에 단순히 assertEquals 메서드를 이용해서 비교하면 테스트에 실패한다. 두 array가 다른 객체이기 때문에 다른 메모리 주소를 참조하기 때문이다. 예시 프로그래머스에서 간단한 행렬의 덧셈 문제를 풀고, Junit으로 검증해보겠다. // 내가 작성한 답 public class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { int outerLength = arr1.length; int innerLength = arr1[0].length; int[][] answer = new int[outerLength][i.. 2022. 7. 21.