목록분류 전체보기 (770)
컴공생의 다이어리
사칙연산(+,-,*,/)말고도 다른 연산자가 있다. x의 y제곱을 나타내는 **연산자 a=3 b=4 print(a**b) 더보기 81 나눗셈 후 나머지를 반환하는 %연산자 a=7 b=3 print(a%b) 더보기 1 나눗셈 후 몫을 반환하는 //연산자 a=7 b=3 print(a//b) 더보기 2 wikidocs.net/book/1 위키독스 온라인 책을 제작 공유하는 플랫폼 서비스 wikidocs.net
문제 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성..
A, B 두 사람이 볼링을 치고 있다. 서로 무게가 다른 볼링공을 고르려고 한다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여된다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주한다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재한다. 질문 N개의 공의 무게가 각각 주어질 때, 두 사람이 볼링공을 고르는 경우의 수를 구하는 프로그램을 작성하시오. 구현한 코드 아래는 파이썬으로 구현한 코드이다. N,M=map(int,input().split()) ball=list(map(int,input().split())) arr=[0]*11 for x in ball: arr[x]+=1 result=0 for i in range(1,M+..
질문 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 구현한 코드 아래는 파이썬으로 구현한 코드이다. N=int(input()) coin=list(map(int,input().split())) coin.sort() target=1 for x in coin: if target>=x: target+=x else: break print(target) 아래는 c/c++으로 구현한 코드이다. #include #include int main() { int N; int target = 1; std::cin >> N; int* coin = new int[N]; for (int i = 0; i < N; i..
다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있다. 질문 문자열 S가 주어졌을 때, 다솜이가 해야하는 행동의 최소 횟수를 출력하시오. 코드로 구현 아래는 파이..
질문 각 자리가 숫자(0부터 9)로만 이루어진 문자열 S가 주어졌을 때, 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 숫자 사이에 '*' 혹은 '+' 연산자를 넣어 결과적으로 만들어질 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오. 단, +보다 *를 먼저 계산하는 일반적인 방식과는 달리, 모든 연산은 왼쪽에서부터 순서대로 이루어진다고 가정한다. 구현한 코드 아래는 파이썬으로 구현한 코드이다. data=input() result=int(data[0]) for i in range(1,len(data)): if int(data[i]) data; result = data[0] - '0'; for (int i = 1; i < data.length(); i++) { if ((data[i]-'0')
한 마을에 모험가가 N명이 있고 모험가를 대상으로 공포도를 측정했다. 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 여행을 떠날 수 있다는 규정이 있다. 길드장은 최대 몇 개의 모험가 그룹을 만들 수 있는지 궁금해한다. 질문 길드장을 위해 N명의 모험가에 대한 정보가 주어졌을 때, 여행을 떠날 수 있는 그룹 수의 최대값을 구하는 프로그램을 작성하시오. 단, 몇 명의 모험가는 마을에 그대로 남아 있어도 되기 때문에, 모든 모험가를 특정한 그룹에 넣을 필요는 없다. 구현한 코드 아래는 파이썬으로 구현한 코드이다. n = int(input()) data = list(map(int, input().split())) data.sort() result = 0 # 총 그룹의 수 count..
객체란, 변수들과 참고 자료들로 이루어진 소프트웨어 덩어리이다. 이 때 객체가 현실 세계에서의 존재하는 것들을 나타내기 위해서는 추상화(abstraction)라는 과정이 필요하다. 클래스란, 쉽게 말하면 객체의 '설계도'라고 할 수 있다. https://blog.hexabrain.net/167 C++ 강좌 7편. 클래스(class) 1. 클래스(class) 클래스란 무엇일까요? 다른 언어를 공부하시다가 '클래스(class)'라는 말을 들어보신 분도, 그렇지 않은 분도 계실겁니다. C++의 클래스는, 쉽게 말하자면 C의 구조체에서 확장된 C++ blog.hexabrain.net
C 언어에서는 malloc 과 free 함수를 지원하여 힙 상에서의 메모리 할당을 지원했다. C++에서도 마찬가지로 malloc 과 free 함수를 사용할 수 있다. 하지만 언어 차원에서 지원하는 것으로 바로 new 와 delete 라고 할 수 있다. new 는 말 그대로 malloc 과 대응되는 것으로 메모리를 할당하고 delete 는 free 에 대응되는 것으로 메모리를 해제한다. /* new 와 delete 의 사용 */ int main() { int *p = new int; *p = 10; std::cout > list[i]; } for (int i = 0; i < size; i++) { std::cout
int arr[3]={1,2,3}; int (&ref)[3]=arr; ref 배열이 arr배열을 참조하도록 했다. 따라서 ref[0]부터 ref[2]가 각각 arr[0]부터 arr[2]의 레퍼런스가 된다. 포인터와는 다르게 배열의 레퍼런스의 경우 참조하기 위해선 반드시 배열의 크기를 명시해야 한다. 따라서 int (&ref)[3]이라면 반드시 크기가 3인 int 배열의 별명이 되어야 하고 int (&ref)[5] 라면 크기가 5인 int 배열의 별명이 되어야 한다. int arr[3][2]={1,2,3,4,5,6}; int (&ref)[3][2]=arr; modoocode.com/312 씹어먹는 C++ 강좌 - PDF 파일 modoocode.com