[프로그래머스] Lv.1 완주하지 못한 선수 c++
·
Algorithm/Programmers
vnfhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 마라톤에 참가한 선수 중 한 명이 완주하지 못했습니다.완주를 하지 못한 한명을 찾아야 합니다.  조건동명이인이 있을 수 있습니다.풀이 방법이 문제는 hashmap을 활용하여 해결했습니다.먼저, completion의 길이만큼 for문을 돌면서 참가자와 완주자의 이름을 hashmap에 기록했습니다. 참가자의 이름은 ++ 연산을, 완주자의 이름은 -- 연산을 해줬습니다. 이렇게 하면 동일한 이름이 여러 번 등장하더라도 카운트를 정확히 관리할 수..
[프로그래머스] Lv.1 최소직사각형 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 다양한 크기의 명함을 모두 수납할 수 있는 최소 크기의 지갑을 만들어야 합니다.명함은 가로와 세로를 자유롭게 회전할 수 있습니다.모든 명함을 수납하려면 지갑의 가로 길이는 명함 중 가로와 세로 중 큰 값의 최댓값이 되어야 하고, 지갑의 세로 길이는 작은 값의 최댓값이 되어야 합니다.최소 지갑 크기는 가로 최댓값 × 세로 최댓값으로 계산됩니다. 풀이 방법이 문제는 완전탐색으로 해결할 수 있습니다.명함은 가로와 세로를 자유롭..
[프로그래머스] Lv.1 크레인 인형뽑기 게임 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2019 카카오 개발자 겨울 인턴십에 나온 문제입니다.크레인 인형뽑기 게임을 모바일 게임으로 구현하려고 합니다. 조건N x N 크기의 격자판(board)에 인형들이 쌓여 있고, 각 칸은 숫자로 표현됩니다. 0은 빈 칸, 1~100은 각각 다른 인형 모양을 나타냅니다.사용자는 주어진 이동 명령(moves)에 따라 크레인을 특정 열로 이동시켜 가장 위에 있는 인형을 집어 바구니에 넣습니다.바구니에 같은 모양의 인형이 연속으로 쌓이면 두 인형이 사라..
[프로그래머스] Lv.1 햄버거 만들기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr햄버거 가게에서 일하는 상수는 정해진 순서로 쌓인 재료를 사용해 햄버거를 포장합니다.햄버거를 만들기 위한 재료의 순서는 다음과 같습니다:빵(1) → 야채(2) → 고기(3) → 빵(1)재료는 조리된 순서대로 쌓이며, 상수는 정해진 순서에 맞는 재료로만 햄버거를 만들 수 있습니다.재료가 추가적으로 쌓이는 동안 속도에 제한은 없으며, 재료의 높이는 무시됩니다.최대로 만들 수 있는 햄버거 개수를 구해야 합니다. 풀이 방법스택의 원리를 활용하면 이 문..
[프로그래머스] Lv.2 영어 끝말잇기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr n명의 사람들이 영어 끝말잇기를 합니다. 규칙은 다음과 같습니다:순서대로 단어를 말하고, 마지막 사람이 말한 후 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 말했던 단어는 사용할 수 없고, 한 글자인 단어는 인정되지 않습니다.탈락 조건:이미 말한 단어를 다시 말했거나,앞 단어의 마지막 글자로 시작하지 않는 단어를 말했을 때.입력으로 n(사람 수)과 단어 배열 words가 주어질 때, 가장 먼..
[프로그래머스] Lv.0 이진수 더하기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/120885 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 구하는 함수를 구현해야 합니다.ex) bin1 = "1001", bin2 = "1111"  -> result = "11000" 조건return 값은 이진수를 의미하는 문자열입니다. 1 ≤ bin1, bin2의 길이 ≤ 10 bin1과 bin2는 0과 1로만 이루어져 있습니다. bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다. 풀이 ..
[프로그래머스] Lv.1 옹알이 (2) c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/133499 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 머쓱이의 조카는 다음 4가지 발음을 조합해 단어를 만들 수 있습니다:"aya", "ye", "woo", "ma"단, 연속해서 같은 발음을 사용할 수는 없습니다. 예를 들어, "ayayaya"는 불가능합니다.babbling 배열이 주어질 때, 조카가 발음할 수 있는 단어의 개수를 반환하는 함수를 구현해야 합니다. 풀이 방법처음에는 babbling 배열을 순차적으로 순회하며, "aya", "ye", "woo", "ma" 각각의 발음을 찾고, 더 ..
[이것이 자바다] Part 01 자바 언어 기초 정리
·
Java
[이것이 자바다] 책을 기반으로 Part 01: "자바 언어 기초"를 정리한 내용입니다.이 글에서는 Chapter02 ~ Chapter04인 조건문과 반복문까지로 구성되어져 있습니다. 01. Java란?Write once, run anywhere (한 번 쓰면, 어디서든 실행된다.) JVM(자바 가상 머신)을 사용하기 때문에 플랫폼에 독립적인 언어입니다.즉, 리눅스던, 윈도우던, 맥이던 JVM만 설치되어 있다면 어디서든 돌아갑니다.JVM은 Garbage Collector를 통해 사용하지 않는 객체를 식별하고 메모리를 해제하여 메모리 관리 부담을 줄여줍니다. (이때 완전히 메모리 누수가 사라지는건 아닙니다)대표적인 객체 지향 언어로 알려져 있습니다. 객체 지향 프로그래밍(OOP)Java는 대표적인 객체지향..