code-trainee의 등록된 링크

 code-trainee로 등록된 티스토리 포스트 수는 99건입니다.

Flutter와 Dart: Todo List 앱 만들기 [내부링크]

Flutter란? Flutter는 Google에서 개발한 오픈소스 UI 소프트웨어 개발 툴킷입니다. 이 툴킷의 가장 큰 특징은 하나의 코드베이스로 iOS와 Android 모두에 네이티브 앱을 생성할 수 있다는 것입니다. 즉, 두 개의 다른 플랫폼에 대해 각각 코드를 작성할 필요 없이 Flutter 하나로 두 플랫폼 모두를 커버할 수 있습니다. Flutter의 이런 가능성은 그래픽 엔진과 위젯 기반의 UI 구성요소 덕분입니다. 위젯은 재사용 가능한 UI 요소로써, 앱의 화면을 구성하는 주요 구성요소입니다. Dart란? Flutter 앱을 개발할 때 사용하는 프로그래밍 언어는 Dart입니다. Dart는 Google이 개발한 객체 지향 프로그래밍 언어로, 처음에는 웹 개발을 목적으로 만들어졌습니다. 하지만 그..

[백준 #1074] Z - JAVA [자바] [내부링크]

분류 분할 정복, 재귀 문제 설명 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 22 크기의 배열을 방문한 순서이다. N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음은 N=3일 때의 예이다. 입력 첫째 줄에 정수 N, r, c가 주어진다. 출력 r행 c열을 몇 번째로 방문했는지 출력한다. 예제 입력 2 3 1 3 7 7 1 0 0 4 7 7 10 511 511 10 512 512 예제 출력 11 63 0 ..

[백준 #1012] 유기농 배추 - JAVA [자바] [내부링크]

분류 그래프 이론 그래프 탐색 깊이 우선 탐색 문제 설명 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어 놓았다. 배추들이 모여있는 곳에는 배추흰지렁이가 한 ..

[백준 #1003] 피보나치 함수- JAVA [자바] [내부링크]

분류 다이나믹 프로그래밍 문제 설명 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한..

[백준 #1697] 숨바꼭질 - JAVA [자바] [내부링크]

분류 너비 우선 탐색, 그래프 이론, 그래프 탐색 문제 설명 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 예제 입력 5..

딥러닝 학습에 필요한 7가지(2) [내부링크]

Data Preprocessing To apply deep learning in real-world scenarios, we often need to preprocess and extract valuable information from raw data. The pandas library provides powerful tools for data manipulation and preprocessing. Here, we will focus on loading CSV files and performing basic operations using pandas. 실제 상황에서 딥러닝을 적용하기 위해서는 원시 데이터에서 가치 있는 정보를 추출하고 전처리하는 작업이 필요합니다. pandas 라이브러리는 데이터 조작..

딥러닝 학습에 필요한 7가지(1) [내부링크]

intro To prepare for your dive into deep learning, you will need a few survival skills 딥러닝에 대한 다이빙을 준비하려면 다음과 같은 몇 가지 생존 기술이 필요합니다. (i) techniques for storing and manipulating data 데이터 저장 및 조작 기술 (ii) libraries for ingesting and preprocessing data from a variety of sources 다양한 소스의 데이터를 수집하고 전처리하기 위한 라이브러리 (iii) knowledge of the basic linear algebraic operations that we apply to high-dimensional ..

[백준 #1562] 계단 수 - JAVA [자바] [내부링크]

분류 비트마스킹, 다이나믹 프로그래밍, 비트필드를 이용한 다이나믹 프로그래밍 문제 설명 45656이란 수를 보자. 이 수는 인접한 모든 자리의 차이가 1이다. 이런 수를 계단 수라고 한다. N이 주어질 때, 길이가 N이면서 0부터 9까지 숫자가 모두 등장하는 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. 0으로 시작하는 수는 계단수가 아니다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. 예제 입력 10 예제 출력 1 코드 - 계단 수.java import java.util.Scanner; public class Main { static int mod = 1000000..

[백준 #1951] 활자 - JAVA [자바] [내부링크]

분류 수학 문제 설명 옛날에는 책을 만들 때, 한글자 한글자를 나눠서 활자를 만들어서 그걸 합쳐서 책을 만들었다고 한다. 예를 들면 가나다라는 글씨를 쓰기 위해서는 3개의 활자가 필요할 것이다. 그렇다고 할 때, N이하의 자연수를 활자로 표현하기 위해서는 몇 개의 활자가 필요한지 구하여라. 예를 들어 10이하의 자연수를 활자로 표현하려면 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0 이렇게 11개의 활자가 필요할 것이다. 입력 첫째 줄에 N(1 ≤ N ≤ 2,000,000,000)이 주어진다. 출력 첫째 줄에 필요한 활자의 수를 1234567로 나눈 나머지를 출력한다. 예제 입력 10 예제 출력 11 코드 - 활자.java import java.util.Scanner; public class ..

[백준 #14003] 가장 긴 증가하는 부분 수열 5 - JAVA [자바] [내부링크]

분류 이분 탐색, 가장 긴 증가하는 부분 수열: O(n log n) 문제 설명 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) 출력 첫째 줄에 수열 A의 가장 긴 증가하는 부분 수열의 길이를 출력한다. 둘째 줄에는 정답이 될 수 있는 가장 긴 증가하는 부분 수열을 출력한다. 예제 입..

[백준 #1533] 길의 개수 - JAVA [자바] [내부링크]

분류 분할 정복을 이용한 거듭제곱, 그래프 이론, 수학 문제 설명 세준이는 정문이를 데리러 공항으로 가기로 했다. 하지만, 방금 세준이는 정문이의 비행기가 연착된다는 전화를 받았다. 세준이는 정문이가 정확하게 몇 분 늦는지 알고 있고, 그 시간 동안 밖에서 드라이브를 하려고 한다. 정문이가 늦는 시간을 T라고 하자. 세준이는 자기가 지금 있는 위치에서부터, 공항까지 정확하게 T분만에 도착하는 경로의 개수를 구하고 싶다. 길의 정보는 인접행렬로 주어진다. A[i][j]가 0이라면 i에서 j로 가는 길이 없는 것이고, A[i][j] ≤ 5라면, 정확히 그 만큼의 시간이 걸리는 i에서 j로 가는 길이 있는 것이다. 입력 첫째 줄에 교차점의 개수 N이 주어진다. N은 10보다 작거나 같고, 시작점의 위치 S와 ..

[백준 #10026] 적록색약 - JAVA [자바] [내부링크]

분류 너비 우선 탐색, 깊이 우선 탐색, 그래프 이론, 그래프 탐색 문제 설명 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. (색상의 차이를 거의 느끼지 못하는 경우도 같은 색상이라 한다) 예를 들어, 그림이 아래와 같은 경우에 RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람이 봤을 때 구역의 수는 총 4개이다. (빨강 2, ..

[백준 #1230] 문자열 거리 - JAVA [자바] [내부링크]

분류 다이나믹 프로그래밍 문제 설명 문자열 O에서 문자열 N까지 문자열 거리는 O를 N과 같게 만들기 위해 필요한 문자열 삽입의 최솟값이다. 문자열 삽입은 O의 어느 위치에서건 가능하다. 예를 들어, O가 “gosrl"일 때, ”sip gi"을 r이전에 삽입한다면 "gossip girl“이 된다. 문자열 O와 문자열 N이 주어질 때, 두 문자열의 거리를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열 O, 둘째 줄에 문자열 N이 주어진다. 문자열의 길이는 최대 1,000이다. 문자열은 아스키 코드의 값이 32보다 크거나 같고, 126보다 작거나 같은 문자로만 이루어져 있다. 출력 첫째 줄에 문자열 O와 문자열 N의 문자열 거리를 출력한다. 만약 O를 N으로 만들 수 없다면 -1을 출력한다. 예제 ..

[백준 #1139] 울타리 - JAVA [자바], python[파이썬] [내부링크]

분류 비트마스킹, 다이나믹 프로그래밍, 비트필드를 이용한 다이나믹 프로그래밍 문제 설명 넓은 초원이 있다. 민식이는 초원에 심은 풀이 이상한 사람들이 밟을 까봐 걱정한다. 따라서, 민식이는 초원에 삼각형 모양의 울타리를 치려고 한다. 민식이는 지하실에 N개의 울타리가 있다. 민식이는 3개의 울타리를 이용해서 삼각형 모양을 만든다. 삼각형의 각 변은 울타리 하나이다. 울타리는 붙이거나 쪼갤 수 없다. 민식이는 삼각형 넓이의 합을 최대로 하려고 한다. 입력 첫째 줄에 울타리의 개수 N이 주어진다. N은 16보다 작거나 같은 자연수이다. 둘째 줄에 각 울타리의 길이가 주어진다. 이 값은 100보다 작거나 같은 자연수이다. 출력 첫째 줄에 줄을 문제의 정답을 출력한다. 절대/상대 오차는 10-9까지 허용한다. ..

[백준 #2263] 트리의 순회 - JAVA [자바] [내부링크]

분류 분할 정복, 재귀, 트리 문제 설명 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. 출력 첫째 줄에 프리오더를 출력한다. 예제 입력 3 1 2 3 1 3 2 예제 출력 2 1 3 코드 - 트리의 순회.java import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java..

[백준 #2920] 음계 - JAVA [자바] [내부링크]

분류 구현 문제 설명 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8부터 1까지 차례대로 연주한다면 descending, 둘 다 아니라면 mixed 이다. 연주한 순서가 주어졌을 때, 이것이 ascending인지, descending인지, 아니면 mixed인지 판별하는 프로그램을 작성하시오. 입력 첫째 줄에 8개 숫자가 주어진다. 이 숫자는 문제 설명에서 설명한 음이며, 1부터 8까지 숫자가 한 번씩 등장한다. 출력 첫째 줄에 ascending, descending, mixed 중 하나를 출력한다. 예제 입력 1 ..

[백준 #1546] 평균 - JAVA [자바] [내부링크]

분류 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 문제 설명 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은..

[백준 #1330] 두 수 비교하기 - JAVA [자바] [내부링크]

분류 구현 문제 설명 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. A와 B는 공백 한 칸으로 구분되어져 있다. 출력 첫째 줄에 다음 세 가지 중 하나를 출력한다. A가 B보다 큰 경우에는 '>'를 출력한다. A가 B보다 작은 경우에는 ''를 출력합니다. A가 B보다 작은 경우 ''를 출력합니다. A가 B보다 작은 경우 '

[백준 #1157] 단어 공부 - JAVA [자바] [내부링크]

분류 구현, 문자열 문제 설명 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 예제 입력 Mississipi zZa z baaa 예제 출력 ? Z Z A 코드 - 단어 공부.java import java.io.BufferedReader; import java.io.IOException; import java.io.InputStre..

[백준 #1152] 단어의 개수 - JAVA [자바] [내부링크]

분류 구현, 문자열 문제 설명 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다. 출력 첫째 줄에 단어의 개수를 출력한다. 예제 입력 The Curious Case of Benjamin Button The first character is a blank The last character is a blank 예제 출력 6 6..

[백준 #1000] A+B - JAVA [자바] [내부링크]

들어가기 전 기존에 프로그래머스를 풀었지만 프로그래머스는 C언어를 공부했었었다. 하지만 지금은 JAVA를 어느 정도 공부해야겠다는 생각에 백준 알고리즘은 JAVA로 문제를 풀어보려 한다. 당분간은 쉬운 문제만 올라오겠지만 꾸준히 해서 어려운 단계까지 올라가는 것이 목표이다. 학교공부하면서 하는 것이 쉽지 않겠지만 시간을 내서 조금씩 해보려고 한다. 그럼 파이팅!! 분류 수학, 구현, 사칙연산 문제 설명 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 첫째 줄에 A+B를 출력한다. 예제 입력 1 2 예제 출력 3 코드 - A+B.java import java.util.Scanner; public class ..

[머신러닝] 머신러닝의 개념과 분류 [내부링크]

들어가기 전 이번에는 딥러닝에 대해 공부하려고 합니다. 딥러닝은 현재 사회에서 가장 핫한 분야 중 하나입니다. 성능과 활용 가능성이 높아져 가면서 다양한 분야에서 활용되고 있습니다. 예를 들어, 의료 분야에서는 딥러닝을 이용해 질병 진단에 대한 정확도를 높이고, 자율 주행 자동차 분야에서는 인간의 시각과 비슷한 시각을 가진 딥러닝 알고리즘을 이용해 사고 발생을 예방하고 있습니다. 이처럼 딥러닝은 우리 생활의 다양한 분야에서 활용되고 있어, 딥러닝에 대한 이해와 습득은 매우 중요합니다. 제가 딥러닝 쪽으로 방향을 확고히 할지는 모르겠지만, 우선 배워둬서 나쁠 건 전혀 없을 거라고 생각해 이번에 열심히 공부하려고 합니다. 지금 사회적으로 큰 이슈가 되고 있는 챗봇 ChatGPT의 경우도 딥러닝을 기반으로 만..

[머신러닝] 단순 선형 회귀와 다중 선형 회귀 [내부링크]

들어가기 전 앞서 머신러닝의 개념과 머신러닝의 분류에 대해서 알아보았습니다. 이번에 다룰 내용인 선형회귀는 지도학습 중 하나입니다. 선형회귀는 입력 데이터와 출력 데이터 간의 선형적인 관계를 찾는 알고리즘입니다. 즉, 입력데이터가 주어졌을 때, 해당 데이터에 대한 출력을 예측할 수 있습니다. 1. 선형회귀(Linear Regression) 선형 회귀는 통계학에서 사용되는 예측 분석 방법 중 하나입니다. 이는 종속 변수 y와 하나 이상의 독립 변수 x와의 선형 상관관계를 모델링하는 기법으로, 데이터 간의 추세를 파악하고 새로운 데이터에 대한 예측을 수행할 때 유용합니다. 선형 회귀 모델을 구축하기 위해 최소제곱법을 사용합니다. 최소제곱법은 독립 변수와 종속 변수 사이의 가중치와 상수항을 추정하여 모델을 구..

프로그래머스 Lv.0 배열 원소의 길이 - C언어 [내부링크]

문제 설명 문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 retrun하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ strlist 원소의 길이 ≤ 100 strlist는 알파벳 소문자, 대문자, 특수문자로 구성되어 있습니다. 입출력 예 strlist result ["We", "are", "the", "world!"] [2, 3, 3, 6] ["I", "Love", "Programmers."] [1, 4, 12] 소스코드 Solution.c #include #include #include // strlist_len은 배열 strlist의 길이입니다. // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세..

프로그래머스 Lv.0 컨트롤제트 - C언어 [내부링크]

문제 설명 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ s의 길이 ≤ 200 -1,000

프로그래머스 Lv.0 소인수분해 - C언어 [내부링크]

문제 설명 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 2 ≤ n ≤ 10,000 입출력 예 n result 12 [2, 3] 17 [17] 420 [2, 3, 5, 7] 입출력 예 #1 12를 소인수분해하면 2 * 2 * 3 입니다. 따라서 [2, 3]을 return합니다. 입출력 예 #2 17은 소수입니다. 따라서 [17]을 return 해야 합니다. 입출력 예 #3 420을 소인수분해하면 2 * 2 * 3 * 5 * 7 입니다. 따라..

프로그래머스 Lv.0 숨어있는 숫자의 덧셈 (1) - C언어 [내부링크]

문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000 my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다. 입출력 예 my_string result "aAb1B2cC34oOp" 10 "1a2b3c4d123" 16 입출력 예 #1 "aAb1B2cC34oOp"안의 한자리 자연수는 1, 2, 3, 4 입니다. 따라서 1 + 2 + 3 + 4 = 10 을 return합니다. 입출력 예 #2 "1a2b3c4d123Z"안의 한자리 자연수는 1, 2, 3, 4, 1, 2, 3 입니다. 따라서 1 + 2 + 3 + 4 + 1 + 2 +..

프로그래머스 Lv.0 문자열 정렬하기(1) - C언어 [내부링크]

문제 설명 문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 my_string에는 숫자가 한 개 이상 포함되어 있습니다. my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - - 입출력 예 my_string result "hi12392" [1, 2, 2, 3, 9] "p2o4i8gj2" [2, 2, 4, 8] "abcde0" [0] 입출력 예 #1 "hi12392"에 있는 숫자 1, 2, 3, 9, 2를 오름차순 정렬한 [1, 2, 2, 3, 9]를 return 합니다. 입출력 예 #2 "p2o4i..

프로그래머스 Lv.0 모음제거 - c언어 [내부링크]

프로그래머스 Lv.0 문제 설명 영어에선 a, e, i, o, u 다섯 가지 알파벳을 모음으로 분류합니다. 문자열 my_string이 매개변수로 주어질 때 모음을 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 my_string은 소문자와 공백으로 이루어져 있습니다. 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_string result "bus" "bs" "nice to meet you" "nc t mt y" 소스코드 Solution.c #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* my_string) { ..

프로그래머스 Lv.0 팩토리얼 - c언어 [내부링크]

문제 설명 i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. 제한사항 0 n) break; a++; } a--; return a; } 풀이 1부터 값을 계속 곱해서 sum이 n보다 커졌을때 멈추게 되고, 그전의 값을 출력해주면 된다. 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 코딩테스트 연습 | 프로그래머스 스쿨 개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을..

최댓값 만들기(1) - c언어 [내부링크]

프로그래머스 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 10,000 2 ≤ numbers의 길이 ≤ 100 입출력 예 numbers result [1, 2, 3, 4, 5] 20 [0, 31, 24, 10, 1, 9] 744 입출력 예 #1 두 수의 곱중 최댓값은 4 * 5 = 20 입니다. 입출력 예 #1 두 수의 곱중 최댓값은 31 * 24 = 744 입니다. 소스코드 Solution.c #include #include #include // numbers_len은 배열 numbers의 길이입니다. int solution(int..

합성수 찾기 - c언어 [내부링크]

프로그래머스 문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 10 5 15 8 입출력 예 #1 10 이하 합성수는 4, 6, 8, 9, 10 로 5개입니다. 따라서 5를 return합니다. 입출력 예 #1 15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15 로 8개입니다. 따라서 8을 return합니다. 소스코드 Solution.c #include #include #include #include int solution(int n) { int answer = 0; for(int i=2; i

주사위의 개수 - c언어 [내부링크]

프로그래머스 문제 설명 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 box의 길이는 3입니다. box[0] = 상자의 가로 길이 box[1] = 상자의 세로 길이 box[2] = 상자의 높이 길이 1 ≤ box의 원소 ≤ 100 1 ≤ n ≤ 50 n ≤ box의 원소 주사위는 상자와 평행하게 넣습니다. 입출력 예 box n result [1, 1, 1] 1 1 [10, 8, 6] 3 12 입출력 예 #1 상자의..

배열 회전시키기 - c언어 [내부링크]

프로그래머스 문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left"와 "right" 둘 중 하나입니다. 입출력 예 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 입출력 예 #1 numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전시킨 [3, 1, 2]를 ..

[프로그래머스] 공 던지기 - c언어 [내부링크]

문제 설명 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요. 제한사항 2

[프로그래머스] 2차원으로 만들기 - c언어 [내부링크]

문제 설명 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]] 제한사항 num_list의 길이는 n의 배 수개입니다. 0 ≤ num_list의 길이 ≤ 150 2 ≤ n

[프로그래머스] 점의 위치 구하기 - c언어 [내부링크]

문제 설명 사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요. 제한사항 dot의 길이 = 2 dot[0]은 x좌표를, dot[1]은 y좌표를 나타냅니다 -500 ≤ dot의 원소 ≤ 500 dot의 ..

[프로그래머스] 구슬을 나누는 경우의 수 - c언어 [내부링크]

문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls 입출력 예 balls share result 3 2 3 5 3 10 입출력 예 #1 서로 다른 구슬 3개 중 2개를 고르는 경우의 수는 3입니다. 입출력 예 #2 서로 다른 구슬 5개 중 3개를 고르는 경우의 수는 10입니다. 소스코드 Soluti..

[프로그래머스] 가위 바위 보 - c언어 [내부링크]

문제 설명 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. 제한사항 0

[유니티] 개인 프로젝트 게임 개발 1 [내부링크]

만들고자 하는 게임은? 1인칭 FPS 게임이 목표이지만, 개발되는 게임의 환경에 따라 3인칭 TPS 게임이 될 수도 있음. W, A, S, D 키를 이용하여 이동할 수 있고, 왼쪽 shift 키(달리기)를 누르면 이동속도가 빨라지고, c 키(걷기)를 누르면 이동속도가 느려지고, space bar를 누르면 점프합니다. 마우스 왼쪽을 누르게 되면 총을 쏘게 됩니다. R 키를 누르면 탄을 갈 수 있게 합니다. 주변에서 랜덤으로 기본 몬스터가 출현합니다. 기본 몬스터는 플레이어를 따라오고 공격하게 됩니다. 플레이어가 몬스터의 공격에 맞게 되면 일정 체력이 깎이게 됩니다. 몬스터의 종류는 누구나 흔하게 생각할 수 있는 좀비뿐 아니라 골렘, 사자, 호랑이 등 몬스터로 적합한 여러 아이디어를 활용합니다. 맵 곳곳에 ..

[프로그래머스] 모스부호(1) - c언어 [내부링크]

문제 설명 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-..

[프로그래머스] 개미 군단 - c언어 [내부링크]

문제 설명 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. 제한사항 hp는 자연수입니다. 0 ≤ hp ≤ 1000 입출력 예 hp result 23 5 24 6 999 201 소스코드 Solution..

[프로그래머스] 순서쌍의 개수 - c언어 [내부링크]

문제 설명 순서쌍이란 두 개의 숫자를 순서를 정하여 짝지어 나타낸 쌍으로 (a, b)로 표기합니다. 자연수 n이 매개변수로 주어질 때 두 숫자의 곱이 n인 자연수 순서쌍의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 1,000,000 입출력 예 n result 20 6 100 9 소스코드 Solution.c #include #include #include int solution(int n) { int answer = 0; for(int i=1;i

[프로그래머스] 진료 순서 정하기 - c언어 [내부링크]

문제 설명 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 입출력 예 emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1] 소스코드 Solution.c #include #include #include // emergency_len은 배열 e..

[프로그래머스] 외계행성의 나이 - c언어 [내부링크]

문제 설명 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있습니다. a는 0, b는 1, c는 2, ..., j는 9입니다. 예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때 PROGRAMMER-962식 나이를 return하도록 solution 함수를 완성해주세요. 제한사항 age는 자연수입니다. age ≤ 1,000 PROGRAMMERS-962 행성은 알파벳 소문자만 사용합니다. 입출력 예 age result 23 "cd" 51 "fb" 100 "baa" 소스코드 Solution.c #include #include..

[UNITY] Flappy Bird 만들기 [내부링크]

#1. Flappy Bird 게임이란? Flappy Bird 게임은 2013년에 베트남의 게임 개발자인 응우옌하동이 개발한 모바일 게임이다. 위와 같은 게임을 본 적이 있을 것이다. 내가 만들 Flappy Bird Style 게임 방법은 아래와 같다. 새를 조정하여 가능한 많은 장애물을 피하는 게임 새는 기본적으로 아래로 떨어짐 마우스 왼쪽 버튼을 누르면 새는 날갯짓을(flap)하여 위로 떠오름 새가 땅에 닿거나 장애물에 닿으면 게임 종료 게임종료 후 마우스 왼쪽 버튼을 누르면 게임 재시작 #2. 개발 환경 위의 게임을 만들기 위해 아래와 같이 프로젝트를 생성해준다. 그런 다음 프로젝트가 만들어지는 동안 개발에 사용할 Flappy Bird의 asset을 미리 다운로드하여 놓는다. 프로젝..

[프로그래머스] 배열 자르기 - c언어 [내부링크]

문제 설명 정수 배열 numbers와 정수 num1, num2가 매개변수로 주어질 때, numbers의 num1번 째 인덱스부터 num2번째 인덱스까지 자른 정수 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ numbers의 길이 ≤ 30 0 ≤ numbers의 원소 ≤ 1,000 0 ≤num1

[프로그래머스] 짝수의 합 - c언어 [내부링크]

문제 설명 정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 제한사항 0 < n ≤ 1000 입출력 예 n result 10 30 4 6 소스코드 Solution.c #include #include #include int solution(int n) { int answer = 0; for(int i=1; i

[프로그래머스] 양꼬치 - c언어 [내부링크]

문제 설명 머쓱이네 양꼬치 가게는 10인분을 먹으면 음료수 하나를 서비스로 줍니다. 양꼬치는 1인분에 12,000원, 음료수는 2,000원입니다. 정수 n과 k가 매개변수로 주어졌을 때, 양꼬치 n인분과 음료수 k개를 먹었다면 총얼마를 지불해야 하는지 return 하도록 solution 함수를 완성해보세요. 제한사항 0

[프로그래머스] 각도기 - c언어 [내부링크]

문제 설명 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 제한사항 0

[프로그래머스] 특정 문자 제거하기 [내부링크]

문제 설명 문자열 my_string과 문자 letter이 매개변수로 주어집니다. my_string에서 letter를 제거한 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 100 letter은 길이가 1인 영문자입니다. my_string과 letter은 알파벳 대소문자로 이루어져 있습니다. 대문자와 소문자를 구분합니다. 입출력 예 my_string letter result "abcdef" "f" "abcde" "BCBdbe" "B" "Cdbe" 소스코드 Solution.c #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution..

[프로그래머스] 문자 반복 출력하기 - c언어 [내부링크]

문제 설명 문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ my_string 길이 ≤ 5 2 ≤ n ≤ 10 "my_string"은 영어 대소문자로 이루어져 있습니다. 입출력 예 my_string n result "hello" 3 "hhheeellllllooo" 소스코드 Solution.c #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* my_string, int n) { // return 값은 ..

[프로그래머스] 짝수 홀수 개수 - c언어 [내부링크]

문제 설명 정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ num_list의 길이 ≤ 100 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_list result [1, 2, 3, 4, 5] [2, 3] [1, 3, 5, 7] [0, 4] 소스코드 Solution.c #include #include #include // num_list_len은 배열 num_list의 길이입니다. int* solution(int num_list[], size_t num_list_len) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에..

[프로그래머스] 직각삼각형 출력하기 - c언어 [내부링크]

문제 설명 '*'의 높이와 너비를 1이라고 했을 때, '*'을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. 제한사항 1 ≤ n ≤ 10 입출력 예 입력 3 출력 * ** *** 소스코드 Solution.c #include void print(int n){ for(int i=0; i

[프로그래머스] 중앙값 구하기 - java [내부링크]

문제 설명 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 제한사항 array의 길이는 홀수입니다. 0

[프로그래머스] 문자열 뒤집기 - c언어 [내부링크]

문제 설명 문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ my_string의 길이 ≤ 1,000 입출력 예 my_string return "jaron" "noraj" "bread" "daerb" 소스코드 Solution.c #include #include #include #include // 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요. char* solution(const char* my_string) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int len = strlen..

[프로그래머스] 배열 뒤집기 - c언어 [내부링크]

문제 설명 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ num_list의 길이 ≤ 1,000 0 ≤ num_list의 원소 ≤ 1,000 입출력 예 num_list result [1, 2, 3, 4, 5] [5, 4, 3, 2, 1] [1, 1, 1, 1, 1, 2] [2, 1, 1, 1, 1, 1] [1, 0, 1, 1, 1, 3, 5] [5, 3, 1, 1, 1, 0, 1] 소스코드 Solution.c #include #include #include // num_list_len은 배열 num_list의 길이입니다. int* solution(int num_li..

[프로그래머스] 나이 출력 - c언어 [내부링크]

문제 설명 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. 제한사항 0 < age ≤ 120 나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다. 입출력 예 age result 40 1983 23 2000 소스코드 Solution.c #include #include #include int solution(int age) { int answer = 0; answer = 2022-age + 1; return answer; } 풀이 우리의 나이는 태어난 해부터 1살이므로 현재가 2022년이라 했을 때 2021년에 태어나면 2살이다. 즉, 현재 연도 - 태어난 연도 +1을 해줘야 ..

[프로그래머스] 나머지 구하기 - java [내부링크]

문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. 제한사항 0

[프로그래머스] 배열 두배 만들기 - java [내부링크]

문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return 하도록 solution 함수를 완성해주세요. 입출력 예 numbers result [1, 2, 3, 4, 5] [2, 4, 6, 8, 10] [1, 2, 100, -99, 1, 2, 3] [2, 4, 200, -198, 2, 4, 6] 소스코드 Solution.java class Solution { public int[] solution(int[] numbers) { int[] answer = {}; answer ..

[프로그래머스] 아이스 아메리카노 - c언어 [내부링크]

문제 설명 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0

[프로그래머스] 분수의 덧셈 - java [내부링크]

문제 설명 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0

[프로그래머스] 옷가게 할인 받기 - c언어 [내부링크]

문제 설명 머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요. 제한사항 10 ≤ price ≤ 1,000,000 price는 10원 단위로(1의 자리가 0) 주어집니다. 소수점 이하를 버린 정수를 return 합니다. 입출력 예 price result 150,000 142,500 580,000 464,000 소스코드 Solution.c #include #include #include int solution(int price) { int answer = 0; if(price >=100000 & price < 300000..

[유니티] #7 탄막 슈팅 게임 - 닷지3 [내부링크]

# 탄알 제작 # 탄알 오브젝트 생성 탄알 게임 오브젝트를 만들고 필요한 컴포넌트를 추가할 거다. 탄알은 생성되고 난 후 앞쪽 방향으로 일정 속도로 날아간다. 또한 플레이어와 충돌하게 되면 플레이어를 파괴한다. 탄알은 Sphere을 이용해 만들 것이다. 위와 같이 빨간색 material을 생성하여 구에 입혀준 뒤 구의 설정의 위와 같이 해준다. 그리고 탄알이 속도를 가지도록 rigidbody 컴포넌트를 추가해준다. 그리고 탄알의 인스펙터 창에서 Is Trigger를 체크해준다. 실시간으로 탄알을 복제하기 위해 prefab을 만들어준다. prefab을 만드는 방법은 하이어 라키 창에 있는 탄알을 프로젝트 창으로 드래그&드롭하면 된다. # 탄알 스크립트 작성 탄알의 코드는 올리지 않습니다. 궁금하다면 비댓을..

[프로그래머스] 배열의 평균값 - c언어 [내부링크]

문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이. 0 또는. 5인 경우만 입력으로 주어집니다. 입출력 예 numbers result [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 5.5 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] 94.0 소스코드 Solution.c #include #include #include // numbers_len은 배열 numbers의 길이입니다. double solution(int numbers[], size_t numb..

[프로그래머스] 피자 나눠 먹기 (3) - c언어 [내부링크]

문제 설명 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ slice ≤ 10 1 ≤ n ≤ 100 입출력 예 slice n result 7 10 2 4 12 3 소스코드 Solution.c #include #include #include int solution(int slice, int n) { int answer = 1; while (true){ if ((slice * answer) / n

[프로그래머스] 숫자 비교하기 - java [내부링크]

문제 설명 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ num1 ≤ 10,000 0 ≤ num2 ≤ 10,000 입출력 예 num1 num2 result 2 3 -1 11 11 1 7 99 -1 소스코드 Solution.java class Solution { public int solution(int num1, int num2) { int answer = 0; if(num1 == num2) { answer = 1; } else{ answer = -1; } return answer; } } 풀이 조건문을 이용해 입력된 num1과 num2의 일치를 확인하고 일치하면 1 불일치하면 -1이 입력되도록 ..

[프로그래머스] 몫 구하기, 두 수의 나눗셈 - java [내부링크]

문제 설명 문제 1. 정수 num1과 num2가 주어질 때, num1을 num2로 나눈 몫을 return하도록 soltuion 함수를 완성해주세요. 문제 2. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. 제한사항 0

[프로그래머스] 피자 나눠 먹기 (2) - c언어 [내부링크]

문제 설명 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 6 1 10 5 4 2 소스코드 Solution.c #include #include #include int solution(int n) { int answer = 1; while (1) { if ((6 * answer) % n != 0) answer++; else break; } return answer; } 풀이 이번 피자 나눠 먹기 문제에서는 모두 같은수를 먹어야..

[프로그래머스] 피자 나눠 먹기 (1) - c언어 [내부링크]

문제 설명 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 7 1 1 1 15 3 소스코드 Solution.c #include #include #include int solution(int n) { int answer = 0; answer=(n-1)/7+1; return answer; } 풀이 문제를 순서대로 읽고 생각하면 쉽게 풀 수 있는 문제이다. 한마디 생각보다 쉬운 문제였는데 머리로는 고민을 너무 많이 해서 시간을 오래 잡아먹은 문제이다.. 마지막에 깨달았을 때는 매우 쉬..

[프로그래머스] 두 수의 합 & 차 & 곱 - java [내부링크]

문제 설명 문제 1. 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요. 문제 2. 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. 문제 3. 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요. 제한사항 -50,000 ≤ num1 ≤ 50,000 -50,000 ≤ num2 ≤ 50,000 입출력 예 문제 1. num1 num2 result 2 3 5 100 2 102 문제 2. num1 num2 result 2 3 -1 100 2 98 문제 3. num1 num2 resul..

[프로그래머스] 머쓱이보다 키 큰 사람 - java [내부링크]

문제 설명 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 200 1 ≤ array의 원소 ≤ 200 입출력 예 array height result [149, 180, 192, 170] 167 3 [180,120,140] 190 0 소스코드 Solution.java class Solution { public int solution(int[] array, int height) { int answer = 0; for (i..

[프로그래머스] 중복된 숫자 개수 - java [내부링크]

문제 설명 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 1,000 0 ≤ n ≤ 1,000 입출력 예 array n result [1, 1, 2, 3, 4, 5] 1 2 [0, 2, 3, 4] 1 0 소스코드 Solution.java class Solution { public int solution(int[] array, int n) { int answer = 0; for (int i = 0 ; i < array.length ; i++) { if (array[i] == n) { answer++; } } return ans..

[과제] 텍스트 파일에 나타난 단어의 인덱스 만들기 [내부링크]

문제 설명 영어로 작성된 텍스트파일에서 단어를 추출하여 인덱스를 구성하는 프로그램을 작성해야 한다. 문제 해결 핵심 포인트 텍스트 파일의 영어들을 단어 단위로 구분하고 알파벳 순으로 정렬하여 인덱스 정보를 제공해야 한다. 입력 : 영어 문장이 저장된 임의의 텍스트 파일 출력 : 텍스트 파일에 나타난 단어를 알파벳 순으로 인덱스 생성 단어에 대한 효과적인 탐색을 위해 이진 탐색 트리와 해시 테이블을 이용한다. 단순 배열만으로 프로그램을 만 들 경 우보다 성능이 뛰어나다. 입출력 예 단어 라인번호 Adam 2, 5, 6 Eve 3, 7 소스코드 소스코드는 별도로 올리지는 않고, 작성한 코드 중 각 데이터에 대해 자료형 정의한 구조체만 간단하게 올리려고 한다. typedef struct lineHead { /..

[프로그래머스] 짝수는 싫어요 - c언어 [내부링크]

문제 설명 정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 100 입출력 예 n result 10 [1, 3, 5, 7, 9] 15 [1, 3, 5, 7, 9, 11, 13, 15] 소스코드 Solution.c #include #include #include int* solution(int n) { // return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요. int a = 0, i; int* answer = (int*)malloc(((n/2)+1) * sizeof(int)); for(i = 1; i

[프로그래머스] 최빈값 구하기 - c언어 [내부링크]

문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0

[프로그래머스] 중앙값 구하기 - c언어 [내부링크]

문제 설명 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. 제한사항 array의 길이는 홀수입니다. 0

[프로그래머스] 나머지 구하기 - c언어 [내부링크]

문제 설명 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. 제한사항 0

[프로그래머스] 배열 두배 만들기 - c언어 [내부링크]

문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 -10,000 ≤ numbers의 원소 ≤ 10,000 1 ≤ numbers의 길이 ≤ 1,000 입출력 예 numbers result [1, 2, 3, 4, 5] [2, 4, 6, 8, 10] [1, 2, 100, -99, 1, 2, 3] [2, 4, 200, -198, 2, 4, 6] 소스코드 Solution.c #include #include #include // numbers_len은 배열 numbers의 길이입니다. int* solution(int numbers[], size_t numbers_len) { // retu..

[프로그래머스] 분수의 덧셈 - c언어 [내부링크]

문제 설명 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0

[프로그래머스] 숫자 비교하기 - c언어 [내부링크]

문제 설명 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ num1 ≤ 10,000 0 ≤ num2 ≤ 10,000 입출력 예 num1 num2 result 2 3 -1 11 11 1 7 99 -1 소스코드 Solution.c #include #include #include int solution(int num1, int num2) { int answer = 0; if (num1 == num2) answer = 1; else answer = -1; return answer; } 풀이 조건문을 이용해 입력된 num1과 num2의 일치를 확인하고 일치하면 1 불일치하면 -1이 입력되도록 설정해주었다. ..

[프로그래머스] 몫 구하기, 두 수의 나눗셈 - c언어 [내부링크]

문제 설명 문제 1. 정수 num1과 num2가 주어질 때, num1을 num2로 나눈 몫을 return하도록 soltuion 함수를 완성해주세요. 문제 2. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. 제한사항 0

[프로그래머스] 두 수의 합 & 차 & 곱 - c언어 [내부링크]

문제 설명 문제 1. 정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요. 문제 2. 정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return하도록 soltuion 함수를 완성해주세요. 문제 3. 정수 num1, num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요. 제한사항 -50,000 ≤ num1 ≤ 50,000 -50,000 ≤ num2 ≤ 50,000 입출력 예 문제 1. num1 num2 result 2 3 5 100 2 102 문제 2. num1 num2 result 2 3 -1 100 2 98 문제 3. num1 num2 resul..

[컴퓨터 구조] 6. CPU의 구조와 기능 - 3 [내부링크]

어셈블리 프로그램 실행과정의 예 연산 코드에 임의의 정수(10진수) 배정 LOAD : 1 STA: 2 ADD: 5 JUMP: 8 LOAD(1) 250, PC -> 100번지 100번지의 첫 번째 명령어 코드가 인출되어 IR에 저장 250번지의 데이터를 AC로 이동 PC = PC + 1 =101 ADD(5) 251, PC -> 101번지 두 번째 명령어가 101번지로부터 인출되어 IR에 저장 AC의 내용과 251번지의 내용을 더하고, 결과를 AC에 저장 PC의 내용은 102로 증가 STA(2) 251, PC -> 102번지 세 번째 명령어가 102번지로부터 인출되어 IR에 저장 AC의 내용을 251번지에 저장 PC의 내용은 103으로 증가 JUMP(8) 170, PC -> 103번지 네 번째 명령어가 10..

[프로그래머스] 머쓱이보다 키 큰 사람 - c언어 [내부링크]

문제 설명 머쓱이는 학교에서 키 순으로 줄을 설 때 몇 번째로 서야 하는지 궁금해졌습니다. 머쓱이네 반 친구들의 키가 담긴 정수 배열 array와 머쓱이의 키 height가 매개변수로 주어질 때, 머쓱이보다 키 큰 사람 수를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 1 ≤ height ≤ 200 1 ≤ array의 원소 ≤ 200 입출력 예 array height result [149, 180, 192, 170] 167 3 [180,120,140] 190 0 소스코드 Solution.c #include #include #include // array_len은 배열 array의 길이입니다. int solution(int array[], size_..

[프로그래머스] 중복된 숫자 개수 - c언어 [내부링크]

문제 설명 정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ array의 길이 ≤ 100 0 ≤ array의 원소 ≤ 1,000 0 ≤ n ≤ 1,000 입출력 예 array n result [1, 1, 2, 3, 4, 5] 1 2 [0, 2, 3, 4] 1 0 소스코드 Solution.c #include #include #include // array_len은 배열 array의 길이입니다. int solution(int array[], size_t array_len, int n) { int answer = 0; for(int i = 0; i

[컴퓨터 구조] 5. CPU의 구조와 기능 - 2 [내부링크]

데이터 통로가 표시된 CPU 내부 구조 CPU 클록 주파수와 클록 주기 클록(Clock) CPU를 비롯한 컴퓨터의 모든 부품이 일정한 속도로 작동하기 위한 전기적 진동(pulse) 클록 발생기가 만들며, 클록 수가 클수록 컴퓨터의 처리 속도가 빠름 클록 주파수(Hz 단위)는 1초에 클록이 몇 번 발생하는지를 의미 1초에 1번 클록이 발생하면 클록 주파수는 1Hz 1초에 109번 클록이 발생하면 클록 주파수는 1GHz 클록 주기는 한 신호 뒤에서 다음 신호가 올 때까지의 간격 클록 주기 = 1 / 클록주파수 마이크로 연산(micro-operation) CPU 클록의 각 주기 동안 수행되는 기본 단위의 동작 인출 사이클 인출 사이클의 마이크로 연산 첫번째 주기(t0) : 현재의 PC가 지정하는 명령어의 주소..

[컴퓨터 구조] 4. CPU의 구조와 기능 - 1 [내부링크]

CPU의 기본 구조 CPU는 기억장치에 저장되어 있는 프로그램 코드(명령어)들을 실행함으로써 프로그램 수행 CPU의 주요 명령어 구분 명령어 인출 (Instruction Fetch, IF) : 기억장치로부터 명령어를 읽음 명령어 해독(Instruction Decode, ID) : 수행해야 할 동작을 결정하기 위하 여 명령어를 해독 위의 두 기능은 모든 명령어들에 대하여 공통적으로 수행 데이터 인출(Data Fetch, DF) : 명령어 실행을 위하여 데이터가 필요한 경 우에는 기억장치 혹은 I/O 장치로부터 그 데이터를 읽음 데이터 처리(Data Process, DP) : 데이터에 대한 산술적 혹은 논리적 연산을 수행 데이터 저장(Data Store, DS) : 수행한 결과를 저장 위의 기능은 명령어에 ..

[컴퓨터 구조] 3. 컴퓨터 구조의 발전 과정 [내부링크]

컴퓨터 구조의 발전 과정 컴퓨터의 역사 초기의 계산 도구 계산을 하는 도구로서 가장 간단한 것은 주판 기원전 약 3000년 전 고대 메소포타미아 인들이 가장 먼저 사용했다고 추정 기계식 계산기 톱니바퀴를 이용한 기계식 계산기 : 기어로 연결된 바퀴판들로 덧셈과 뺄셈 수행 (1642년, 파스칼) 1671년 라이프니츠는 이를 개량하여 곱셈과 나눗셈도 가능한 계산기를 발명 이후, 라이프니츠는 기계장치에 더 적합한 진법을 연구해서 17세기 후반에 2진법을 창안 차분 기관(difference engine) : 표에 있는 수들을 자동적으로 산술 연산(덧셈, 뺄셈)하고, 그 결과를 금속 천공기를 거쳐서 프린트하는 최초의 계산 기계를 설계(1823년, 찰스 배비지) 해석기관(analytical engine) : 네 가..

[컴퓨터 구조] 2. 시스템의 구성과 정보 표현 [내부링크]

1. 시스템의 구성 CPU와 시스템 버스 간의 접속 시스템버스 CPU와 기억 장치 및 입출력 장치 사이에 정보를 교환하는 통로 기본구성 주소 버스(address bus) 데이터 버스(data bus) 제어 버스(control bus) 주소 버스(address bus) CPU가 기억 장치나 입출력장치를 지정하는 주소 정보를 전송하는 신호선들의 집합 단방향(uni-directional)전송 : 주소는 CPU로부터 기억장치 혹은 I/O 장치로 보내지는 정보 주소선의 수는 CPU와 접속될 수 있는 최대 기억장치 용량을 결정 [예] 주소 버스의 비트수 = 12 비트라면, 최대 212= 4K 개의 기억 장소들의 주소를 지정 가능 데이터 버스(Data bus) CPU가 기억 장치나 입출력 장치 사이에 데이터를 전송하..

[유니티] #6 탄막 슈팅 게임 - 닷지 2 [내부링크]

# 닷지 플레이어 제작 2 #1 플레이어 스크립트 생성 Player 게임 오브젝트를 조종하는 PlayerController 스크립트를 준비한다. 이 스크립트에서는 사용자의 키보드 입력을 감지해야 하고, 리지드바디를 사용하여 Player 게임 오브젝트를 움직일 수 있어야 한다. 프로젝트 창에서 스크립트를 생성해준다. 스크립트를 생성하고 코드를 아래와 같이 적어주어 기본 세팅을 해주자. #2 사용자 입력 감지 입력을 감지하기 위해, Update() 메서드와 Input 클래스의 입력 감지 메서드가 필요하다. Update() 메서드는 Start() 메서드처럼 특정 시점에 자동으로 실행되는 유니티 이벤트 메서드이다. Update() 메서드는 한 프레임에 한 번, 매 프레임마다 반복 실행된다. 만약 60 FPS로 ..

[유니티] #5 탄막 슈팅 게임 - 닷지 1 [내부링크]

# 닷지 플레이어 제작 1 #1 씬 구성하기 먼저 프로젝트를 생성하고 플레이어가 움직일 공간을 만들어 줄 거다. 제작할 씬은 정사각형의 공간에 사방이 벽으로 막혀있고, 플레이어가 그 안에서 자유롭게 움직일 수 있어야 한다. 우선 유니티 허브를 실행하고 아래와 같이 새로운 프로젝트를 만들어준다. 그다음 레벨의 바닥과 벽을 만들어 줄 거다. 하이어리키 창에서 Create -> 3D Object -> Plane을 클릭해준다. 그다음 가로와 세로의 길이를 늘려줘야 한다. 인스펙터 창에서 게임 오브젝트의 트랜스폼 컴포넌트의 스케일을 (2, 1, 2)로 변경해준다. 유니티에서 게임 오브젝트의 컬러는 머티리얼이 결정한다. 머티리얼은 셰이더와 텍스처가 합쳐진 에셋으로, 오브젝트의 픽셀 컬러를 결정한다. 프로젝트 창에서..

[컴퓨터 구조] 1. 컴퓨터의 기능과 기본 구조 [내부링크]

1. 컴퓨터의 기능 프로그램 코드를 정해진 순서대로 수행 데이터를 읽어서(read), 처리(processing)하고, 저장(store)함 기본적인 수행 기능들 프로그램 실행 : CPU가 주기억장치로부터 프로그램 코드를 읽어서 실행 데이터 저장 : 프로그램 실행 결과를 주기억장치에 저장 데이터 이동 : 하드 디스크 같은 보조 기억 장치에 저장되어 있는 명령어와 데이터 블록을 주기억장치로 이동. 데이터 입력 /출력 : 사용자가 키보드나 마우스를 통해 입력하는 명령어나 데이터를 입력하거나 CPU가 처리한 결과를 모니터나 프린터로 출력 제어 : 프로그램에서 정해진 순서에 따라 실행되도록 각종 제어 신호를 발생 필요에 따라서 실행 순서를 변경하도록 조정 2. 컴퓨터의 기본구조 컴퓨터의 기본 구성 하드웨어 : 컴퓨..

[유니티] #4 게임 오브젝트 제어 [내부링크]

# 게임 오브젝트 제어하기 #1 클래스와 오브젝트 클래스와 오브젝트는 객체지향(사람이 현실 세상을 보는 방식)의 핵심이다. 사람은 사물을 분해하여 생각하지 않고, 하나의 온전한 독립체로 여기는 경향이 있다. 예를 들어 사람은 컴퓨터를 보고 cpu, ram 그리고 그래픽과 같은 여러 부품으로 이루어져 있는 집합으로 여기지 않고 컴퓨터라는 온전한 물건으로 본다. 객체지향은 이러한 오브젝트의 집합으로 구성하는 방식이다. #클래스 클래스는 묘사할 대상과 관련된 코드를 묶는 틀이다. 예를 들어 Human 클래스에는 사람의 특징을 규정하는 변수와 메서드가 구현된다. 사람, 동물, 꽃 등 다양한 사물에 관한 코드를 각자의 클래스로 만들어 묶어두면 코드 관리가 쉬워진다. #오브젝트 물건의 설계도인 클래스와 달리 오브젝..

[유니티] #3 C# 프로그래밍 시작하기 2 [내부링크]

# 유니티에서의 C# 프로그래밍 2 #1 코딩 기본규칙 #주석 주석은 컴퓨터가 처리하지 않는 영역이다. 보통 메모 용도로 사용하며, 코드를 주석으로 바꾸어 잠시 비활성화시키는 용도로도 사용할 수 있다. 한 줄 주석은 /(슬래시)를 두 번 연속 타이핑하고 입력한다. 여러 줄을 주석할 때에는 /*와 */사용하여 시작과 끝을 표시한다. // 보통 메모 용도로 사용하는 한줄 주석 /*여러줄에 걸쳐 주석을 사용할때에는 슬래시와 별을 사용하여 앞뒤로 사용하여 주석처리를 해준다 */ #주석 콘솔에 메시지를 출력할 때는 Debug.Log() 메서드를 사용한다. 문장을 출력하는 경우에는 아래와 같이 문장을 큰따옴표로 묶어준다. Debug.Log("출력 되는 내용"); #세미콜론 코드 한 문장이 끝나면 반드시 세미콜론을 ..

[유니티] #2 C# 프로그래밍 시작하기 1 [내부링크]

# 유니티에서의 C# 프로그래밍 1 #1 변수 개념 잡기 변수는 값을 저장하는 장소이다. 변수에 저장한 값은 게임 도중 언제든지 접근하고 수정할 수 있다. 변수를 사용하는 이유는 원하는 값을 기억하고 다시 사용하기 위해서이다. 변수를 사용하기 위해서는 변수를 선언해 줘야 한다. int num; 위 코드는 정수 타입의 값을 다루는 'num' 변수를 선언한 것이다. int는 정수(integer)의 약자이다. int num = 10; 위와 같이 'num' 변수에 초기값(10)을 할당해 줄 수도 있다. 나는 변수 이름은 편하게 보기 위해 'num'을 사용한 것이고 각자 사용용도를 생각해서 마음껏 설정해주면 된다. 변수의 타입에는 int 뿐만 아니라 실수를 저장하는 float, 참과 거짓을 저장하는 bool, 문..

[유니티] #1 unity 인터페이스 둘러보기 [내부링크]

#유니티 인터페이스 둘러보기 #1 유니티 레이아웃 변형하기 유니티 레이아웃은 창이 배치되어 있는 모양이다. 아래 사진은 기본으로 되어있는 'default' 레이아웃이다. 레이아웃은 개발에 영향을 미치진 않지만 좀 더 편하게 활용하기 위해 보기 쉽게 아래 사진처럼 변형해 보았다. #2 3D 큐브 오브젝트 생성하기 Hierarchy 창에서 아래 사진에 표시된 +(create) 버튼을 클릭하고 3D object에서 Cube를 선택해서 새로운 Cube 게임 오브젝트를 생성해 준다. 그러면 Hierarchy 창에 Cube 게임 오브젝트가 새로 추가가 되고, Scene 창의 중앙에 Cube 게임 오브젝트가 표시가 된다. #3 큐브에 중력 주기 큐브가 중력의 영향을 받아 아래로 떨어지게 해보자. 단, 바닥을 만들어주..

[유니티] #0 unity 개발 환경 준비 [내부링크]

본 포스트는 교재 '레트로의 유니티 게임 프로그래밍 에센스'를 공부하며 작성하였습니다. 이 책은 유니티는 물론 프로그래밍에 대한 지식이 전혀 없는 입문자와 비전공자, 아티스트 등을 대상으로 하고 있다. 수많은 예시와 그림으로 설명하고 있어, 실습 과정을 놓치지 않고 따라 할 수 있을 것 같다. 이 책은 총 7부로 나뉘어 있으며, 이 안에서 19장의 목차로 나누어져 있다. 간단하게 7부를 살펴보면 이렇다. 1부 유니티 준비하기 2부 C# 프로그래밍 3부 탄막 슈팅 게임: 닷지 4부 공간 5부 2D 러너 게임: 유니런 6부 탑 다운 슈터 게임 : 좀비 서바이버 7부 네트워크 협동 게임 : 좀비 서바이버 멀티플레이어 먼저 유니티 개발 환경을 준비하고 C# 프로그래밍에 대해 기초적인 부분을 알려주고 있다. 그다..

다가오는 빼빼로데이 할인받아 구매하자! [내부링크]

빼빼로 할인? 1.CU 현재 CU에서는 카카오뱅크 체크/ mini카드로 결제하면 단품 50%할인을 해주고 있다. 1회한도 제한이기 때문에 여러번 나누어 구매한다면 원하는 빼빼로 갯수만큼 할인해서 살 수 있다. 2. GS25 gs25에서는 2개사면 2개를 더 주는 이벤트를 하고 있지만 오리지날과 아몬드만 해당된다. 꼭 확인하고 가자. 3. 미니스톱 미니스톱에서는 4개이상 결제시 50%할인해준다. 단, 최대5000원 할인이므로 나누어 결제하면 된다! 4. 세븐일레븐 세븐일레븐은 다른곳에 비해 행사가 약한 느낌이다. 만원 이상 결제시 20%할인 해주고 있고 스탬프 적립하면 빼빼로 1개 교환권을 주고 있다.