프로그래밍 공부

2024/01/13 5

카테고리 설명
  • 문제 설명 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 입출력 예 N number return 5 1..

  • 3. 코딩 스타일 매일 몇 시간씩 키보드 앞에서 코드를 작성하면, 단순히 코드가 정상적으로 작동하는것 만으로 만족해서는 안된다. 이번에는 좋은 코드가 가져야할 조건에 대하여 살펴본다. 그 과정에서 몇 가지 C++ 코딩 스타일을 확인하고, 단순히 코드의 스타일을 바꾸는 것만으로도 코드가 상당히 다르게 보이는것을 깨닫게 된다. 예를들어, 윈도우 프로그래머에 의해 작성된 C++ 코드는 윈도우 컨벤션을 따르기 떄문에, 눈에 띄는 특징이 있을것이고, Mac Os 프로그래머가 작성한 C++ 코드는 같은 C++임에도 완전 다른 언어처럼 보이게 된다. 3.1 보기 좋은 코드의 중요성. 스타일이 좋은 코드를 작성하는데 에는 시간이 필요하다. XML파일을 피싱하는 코드를 대충 작성하는 데는 몇 시간이면 될 것 이다. 그러..

  • C++개발자가 string 타입을 사용하지 않는 여러가지 이유가 있다. 첫번쨰는 단순히 string 타입의 존재여부를 몰라서이다. 두번째는 string타입이 각 프로그래머가 사용할 상황에 적합한 동작을 하지 않기 떄문이다. 세번째는 사용하는 개발 프레임워크가 자신만의 문자열을 사용하기 때문이다. 예시로, 마이크로소프트의 MFC로 CString이라는 자신만의 문자열 타입을 별도로 정의하여 사용한다. 프레임워크 문제는 하위 호환성이나 과거 코드의 재활용 문제와 연관되어 있다.

  • 2.1.4 로우 문자열 리터럴 로우 문자열 리터럴(raw string literal)에서는 \t, \n과 같은 역슬래시를 통한 이스케이프 시퀸스를 일반 문자열로 취급한다. string str = "Hello "World"!"; // 컴파일에러 만약, 문자열 리터럴을 위와같이 작성하면 컴파일 에러가 발생한다. 보통의 문자열에서 따옴표를 표현하려면 다음과 같이 이스케이프 시퀸스를 사용해야 한다. string str = "Hello \ "World\"!"; 로우 문자열 리터럴을 이용하면 이스케이프 시퀸스를 사용하지 않아도 된다. 로우 문자열 리터럴은 R"( 로 시작하고 )" 로 끝난다. string str = R"(Hello "World"!)"; 로우 문자열 리터럴은 여러줄에 걸쳐 작성될 수도 있다. 예를들어..

  • 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를..