분류 전체보기 246

[프로그래머스 lv.1] 과일 장수

문제 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만들어 판매하여 최대 이익을..

[프로그래머스 lv.1] 푸드 파이트 대회

문제 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건을 고..

[프로그래머스 lv.1] 햄버거 만들기

문제 햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다. 예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세 ..

[프로그래머스 lv.1] 옹알이 (2)

문제 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ babbling의 길이 ≤ 100 1 ≤ babbling[i]의 길이 ≤ 30 문자열은 알파벳 소문자로만 이루어져 있습니다. 내가 생각한 풀이 방법 조카가 발음할 수 있는 발음 리스트를 만든다. babbling을 for문을 돌면서 발음 리스트와 같은 요소가 있다면 answer_list에 추가한다...

[네트워크기초이론] Switch가 하는 일은 Switching 이다.

네트워크 ≒ 고속도로 스위치와 스위칭 - 스위치: 네트워크를 이루는 호스트 "네트워크는 스위치로 이루어져 있다." - 스위칭: 스위치가 하는 일 경로 선택, 인터페이스 선택 선택 = 여러개 중 하나를 고른다! 자동차가 출발지에서 출발해서 목적지까지 감 A라는 지점은 교차로 (B, C, D, E, F 모두 마찬가지) 교차로에 도착하면 자동차는 직진할지 위로 갈지, 아래로 갈지, 뒤로 갈지 선택해야함 (네비게이션이나 지도가 없다면) 교차로에 도착했을 때 무엇을 보고 목적지를 향해 갈까? 바로 이정표! 이정표는 경로 선택의 근거가 된다. 예를 들어 A →B→E→D→목적지 로 갔다면 이게 전체적인 경로 - 교차로 = 네트워크 상에서는 네트워크 스위치 - 길을 선택 = 경로, 인터페이스 선택 = 스위칭 어떤 길을..

[프로그래머스 lv1.] 콜라 문제

문제 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. 받은 1병과 5병을 받았을 때 남은 1병을 모두 마신 뒤 가져가면 1병을 또 받을 수 있습니다..

[프로그래머스 lv.1] 삼총사

문제 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성하세요. ..

[프로그래머스 lv.1] 나머지가 1이 되는 수 찾기

문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 내가 생각한 풀이 방법 range(1, n+1)만큼 for문을 돌면서 if n % i ==1이면 answer = x 하고 break 코드로 구현 def solution(n): answer = 0 for i in range(1, n+1): if n % i == 1: answer = i break return answer 다른 사람 풀이

[네트워크기초이론]개발자 입장에서 Port번호 이해하기

Port번호의 의미 1. Process 식별자 2. Service 식별자 3. Interface 번호 Process 식별자 - 내가 프로그램을 실행시키면 프로세스가 존재하기 마련 - 운영체제 구성요소 안에 TCP/IP, Device Driver, NIC 등이 있다 - 커널에 TCP가 implementation 되어있는데 이것을 User mode application이 접근할 수 있도록 interface 제공 기본적으로 본질은 file이지만 Protocol을 추상화했기 때문에 file이 아니라 socket이라고 함 - socket은 파일 같은 건데, socket을 생성할 때 TCP socket일 때 socket에 attach 되는 정보 중 하나가 Port 번호 - TCP/IP Port 번호는 기본적으로 1..

[네트워크기초이론]IPv4주소 체계에 대한 암기사항

"IP주소와 Net_mask" IP주소 Host에 대한 식별자 사람으로 치면 - 대한민국의 행정 체계 내에 있는 한 사람(국민)을 유니크하게 식별하는 주민등록번호 IP는 Internet Protocol의 약자 - Protocol: 통신 규약(규정, 규칙) 버전 1. IPv4 - 32bit 주소 체계를 씀 - 나올 수 있는 전체 경우의 수는 2^32 = 대략 43억 - 인터넷이라는 세상은 이 세계 속에서 그 세상에 참여할 수 있는 Host의 갯수가 43억개로 제한 - 전세계의 모든 컴퓨터가 사용하는 IP가 43억개밖에 안될까? 훨씬 많음, 43억개로는 부족함 그래서 다양한 방법과 기술로 커버 - 현재는 IPv4를 가장 많이 씀 (IPv6를 쓰는 구간도 있지만 흔하지 않음) 2. IPv6 - 128bit 주..