본문 바로가기

분류 전체보기

(246)
[알고리즘/Programmers] LV1. 체육복 Programmers LV1. 체육복 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 re..
[알고리즘/Programmers] LV1. 3진법 뒤집기 Programmers LV1. 3진법 뒤집기 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한 사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 n result 45 7 125 229 사용 언어 Java 해결 방법 문자열로 푸는 방법도 있을 것인데 숫자를 링크드 리스트에 넣어 푸는 방법으로 해결하였다. LinkedList는 addFirst() 메서드가 있어서 나머지 숫자를 맨 앞에 추가하는 것이 간단해진다. 1. 10진법을 3진법(정순) 으로 변환한다. 2. for문을 돌리며 i를 활용하여 3진법의 맨 앞부터 10진법 수를 구한다. 알게된 것 3진법..
[알고리즘/Programmers] LV1. 로또의 최고 순위와 최저 순위 programmers LV1. 로또의 최고 순위와 최저 순위 문제 설명 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호가 일치 3 4개 번호가 일치 4 3개 번호가 일치 5 2개 번호가 일치 6(낙첨) 그 외 로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다. 알아볼 수 없는 번호를 0으로 표기하기로 하고, 민우가 구매한 로또 번호 ..
[알고리즘/Programmers] LV1. 모의 고사 Programmers LV1. 모의 고사 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 re..
[TIL] 2021년 4월 4째주 (21.4.18~21.4.25) Mon 🛍 와리가리 프로젝트 작업 내용 [back] 최신 상품 크롤러 개발 중 미스터스트리트 사이트 크롤링 완료 기본 크롤링 코드덩어리 리팩토링! 얼마전에 객체지향 패턴 공부했던 것 중 템플릿 메소드 패턴 사용해서 리팩토링!! 아 뿌듯해.. 🔍 LINK SpringBoot Jsoup 크롤링 참고 (https://shinsunyoung.tistory.com/63) Tue 🛍 와리가리 프로젝트 작업 내용 [back] price 추가 로직 처리 완료 🔢 알고리즘 연습 Programmers LV1 - 나누어 떨어지는 숫자 배열 (블로그 작성 예정) Wed Thu 📋 업무 리눅스 서버 구축, 제품 설치 Fri 🔢 알고리즘 연습 programmers LV1 - 신규 아이디 추천 (https://yuja-kong.t..
컴파일, 빌드, 배포에 대해 이해하기 작성 동기 우리가 백엔드 개발을 하는 상황을 예를 들어보자. IntelliJ나 eclipse 같은 개발 툴을 사용하여 원하는 로직을 개발 할 것이다. 만든 것을 테스트 해보기 위해 main class를 run 하면 툴이 알아서 내 소스들을 슉슉 검사해주고 그게 정상 완료되면 콘솔이나 localhost 웹 상에서 테스트할 수 있도록 실행이 된다. 이렇게 로컬 환경에서 개발만 하는 상황이라면 컴파일, 빌드, 배포의 상세한 과정이나 정의를 몰라도 개발만 제대로 하면 되었다. 실행시켜서 잘 나오기만 하면 되었으니까. 다만 실무를 경험하면서 실제 서버에 배포하거나 서버를 구축해보는 과정에서 이러한 지식이 필요하고 나는 많이 부족하다는 것을 느꼈다. 기초적인 것도 알지못하는데 서버 개발, 백엔드 개발을 한다고 말할..
[알고리즘/Programmers] LV1. 폰켓몬 Programmers LV1. 폰캣몬 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번..
[알고리즘/Programmers] LV1. 문자열 내 마음대로 정렬하기 Programmers LV1. 문자열 내 마음대로 정렬하기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 사항 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. ..