
문제 링크 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬..

스택 (Stack) 이란? 스택은 쌓다라는 의미로, 데이터를 차곡차곡 쌓아 올린 형태의 자료구조이다. 데이터가 순서대로 쌓이며, 가장 마지막에 삽입된 자료가 가장 먼저 삭제되는 구조를 가지고 있다. 가장 대표적인 예시로는 프링글스 과자를 생각하면 된다. 스택은 정해진 방향으로만 쌓을 수 있으며, top으로 정한 곳을 통해서만 접근 할 수 있다. 새로 삽입 되는 자료는 top이 가리키는 가장 맨 위에 쌓이게 되며, 자료를 삭제할 때도 top을 통해서 삭제가 가능하다. 여기서 삽입연산을 Push, 삭제 연산을 Pop 라고 하며 이러한 스택 구조를 후입 선출(LIFO - Last In First Out) 구조라고 한다. 스택(stack)의 사용 사례 - 웹 브라우저 방문 기록(뒤로가기) - 실행 취소(undo..

소프트웨어 개발 프로세스 모델이란? 소프트웨어 개발 프로세스 모델은 소프트웨어 개발 생명주기를 기반으로 정해진다. 소프트웨어 개발 생명 주기 관련 글을 ➡️ 여기 를 참고하면 된다. 소프트웨어 개발 프로세스 모델의 종류 6가지는 아래와 같다. 폭포수 모델 V 모델 프로토타입 모델 나선형 모델 진화적 모델 애자일(Agile) 모델 폭포수 모델 (waterfall model) 폭포수 모델(waterfall model)은 순차적인 소프트웨어 개발 프로세스(소프트웨어를 만들기 위한 프로세스)로, 개발의 흐름이 마치 폭포수처럼 지속적으로 아래로 향하는 것처럼 보이는 데서 이름이 붙여졌다. 이 폭포수 모델의 흐름은 소프트웨어 요구사항 분석 단계에서 시작하여, 소프트웨어 설계, 소프트웨어 구현, 소프트웨어 시험, 소..

문제 링크 문제 설명 N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 하고 싶습니다. 단 스티커 한 장을 뜯어내면 양쪽으로 인접해있는 스티커는 찢어져서 사용할 수 없게 됩니다. 예를 들어 위 그림에서 14가 적힌 스티커를 뜯으면 인접해있는 10, 6이 적힌 스티커는 사용할 수 없습니다. 스티커에 적힌 숫자가 배열 형태로 주어질 때, 스티커를 뜯어내어 얻을 수 있는 숫자의 합의 최댓값을 return 하는 solution 함수를 완성해 주세요. 원형의 스티커 모양을 위해 배열의 첫 번째 원소와 마지막 원소가 서로 연결되어 있다고 간주합니다. 제한 사항 sticker는..

소프트웨어를 체계적으로 관리하고 관리하기 위해 개발 과정을 단계별로 나누어 구분 한 것을 소프트웨어 개발단계, 소프트웨어 생명주기 라고 한다. 일반적으로 6단계로 구분하며, 이 단계에 대해서 알아보고자 한다. 1️⃣ 1단계 : 요구사항 분석 문제 분석 단계 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의 개발할 소프트웨어의 성격을 정확히 이해하고, 개발 방법과 필요한 갭라 자원 및 예산을 예측 요구명세서 작성 2️⃣ 2단계 : 시스템 명세 시스템이 무엇을 수행해야 하는가를 정의하는 단계 입력자료, 처리내용, 생성되는 출력이 무엇인지를 정의 시스템 기능 명세서 작성 3️⃣ 3단계 : 설계 시스템 명세 단계에서 정의한 기능을 실제로 수행하기 위한 방법을 논리적으로 결정하..

문제 링크 문제 설명 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한사항 격자의 크기 m, n은 1 이..

자료를 관리 할때 배열이나 리스트를 자주 사용하게 된다. 자주 사용하는 만큼 배열과 리스트의 특징과 차이에 대해 알아보고자 한다. 배열(Array) 이란? 배열은 정적 자료구조이며, 배열을 만들기 위해서는 미리 크기를 정해 놓아야 한다. 그렇게 되면 해당 크기만큼의 연속된 메모리 주소를 할당 받게 된다. 연속된 메모리 주소를 할당 받고 있기 때문에 데이터가 인덱스(index)라는 것을 갖게 된다. 일반적으로 array[0] 같은 식으로 배열에 접근할 때 대괄호([]) 안에 숫자가 index이다. index를 갖게 된다는 것은 즉 임의 접근이 가능하다는 장점이 있어 접근과 탐색에 용이합니다. 하지만 크기를 미리 정해놓았기 때문에 수정하는 것이 불가능하며 이미 크기를 정해 놓은 터라 해당 배열 크기 이상의 ..

문제 링크 문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 문제 ..

문제 링크 문제 설명 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같이 특별한 방법으로 섞어 새로운 음식을 만듭니다. 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2) Leo는 모든 음식의 스코빌 지수가 K 이상이 될 때까지 반복하여 섞습니다. Leo가 가진 음식의 스코빌 지수를 담은 배열 scoville과 원하는 스코빌 지수 K가 주어질 때, 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 ..

➡️ 1주차 경과 제로베이스 스쿨에서 진행하는 백준 장학금에 참여하여 1주차 이어 2주차 회고를 하고자 한다. 백준 장학금 1주차 경과와 진행 목표에 대해서는 1주차 경과에 작성하였다. 위에 링크를 통해서 해당 내용 확인 할 수 있다. 2주차 경과 (7월 31일 ~ 8월 6일) 1. 1일 1알고리즘 풀이 (7회 / 주) 날짜 문제링크 풀이 링크 7월 31일 프로그래머스 - 점프와 순간 이동 https://hy-ung.tistory.com/128 8월 1일 프로그래머스 - 모음사전 https://hy-ung.tistory.com/131 8월 2일 프로그래머스 - N개의 최소공배수 https://hy-ung.tistory.com/132 8월 3일 프로그래머스 - 신고 결과 받기 https://hy-ung.t..
- Total
- Today
- Yesterday
- 코딩테스트 공부
- 백엔드 개발자 취업 준비
- 취준
- 코딩테스트공부
- 백준
- 프로그래머스
- 제로베이스 백준 장학금
- 코테 준비
- java
- 개발자 면접 준비
- 알고리즘 공부
- 코딩테스트 준비
- 취업준비
- 제로베이스 백엔드 스쿨
- 개발자 취준
- 주니어 개발자 취업 준비
- 백엔드 개발자 기술 면접 준비
- 자바공부
- 백엔드 개발자
- 프로그래머스 카카오
- 알고리즘
- 프로그래머스 자바
- 자바
- 개발자 취업 준비
- 코딩테스트
- 코테준비
- 코테공부
- 기술 면접 준비
- 취업 준비
- 알고리즘공부
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |