BOJ - 좌표 정렬하기 11650
·
코딩테스트
해결방법pair와 sort를 이용하여 오름차순으로 정렬해주면 된다. 정답 코드#include #include #include using namespace std;int main(){ int N; cin >> N; vector> v(N); for (int i = 0; i > v[i].first >> v[i].second; } sort(v.begin(), v.end()); for (int i = 0; i
BOJ - 설탕 배달 2839
·
코딩테스트
해결방법5로 나눠봤을때 나머지가 0이 아니라면 보류하고 3으로 빼본다.그 과정을 0보다 큰 동안 반복하다가 5로 나눌수 있다면 나눈 값과 3으로 뺀 횟수를 합산하여 출력한다.루프를 반복하다가 N이 0보다 작아진다면 5와 3만으로 나눌수 없다는 뜻이기 때문에 -1을 출력한다. 정답 코드#include using namespace std;int main(){ int N; cin >> N; int count = 0; while (N >= 0) { if (N % 5 == 0) { count += N / 5; cout
소프트웨어의 정의와 특성
·
Programming/기타
소프트웨어의 정의 응용 프로그램이나 데이터처럼 컴퓨터를 제어하고, 명령을 수행할 수 있게 만들어주는 프로그램이라고 할 수 있다. 원래는 문자 그대로 컴퓨터에서 동작되거나 처리되는 것만을 소프트웨어라고 불렀지만, 현재는 소프트웨어의 범위가 넓어져 수많은 것들이 소프트웨어 취급을 받고 있다. (게임, 네비게이션 지도 등등도 포함된다.)  소프트웨어는 크게 시스템 소프트웨어와 응용 소프트웨어로 나눌 수 있다. 시스템 소프트웨어는 응용 소프트웨어가 작동하는 환경을 만들거나 컴퓨터를 유지, 관리하는데 사용되는 소프트웨어이다. 그 특성때문에 플랫폼이라고도 부른다. 사용자가 컴퓨터 하드웨어의 물리적인 특성이나 구조를 전부 알지 못하더라도 컴퓨터 시스템을 사용할 수 있게 도와주는 역할을 한다.대표적인 시스템 소프트웨어..
인터페이스와 추상클래스
·
Programming/기타
인터페이스인터페이스란?본래 프로그래밍 언어에서는 중요한 개념이 하나 존재한다. 같은 구문이 두 가지 이상의 의미로 해석될 여지가 있어서는 안 된다라는 것이다. 이러한 모호성을 해결하기 위해 만약 예약어가 겹치는 경우 어느 라이브러리의 예약어인지를 추가로 작성을 해줘야 한다. 이러한 이유로 다중 상속은 본래 불가능하지만 가끔 필요한 경우가 존재한다. 이러한 경우를 해결하기 위해 도입 된 것이 바로 인터페이스이다. 인터페이스는 interface 키워드를 이용하여 선언이 가능하다. 그러나 몇가지 제한사항이 존재하는데,1. 인터페이스는 추상 메서드와 상수만을 포함한다.2. 접근 제한자는 모두 public이고, 인터페이스를 상속받은 클래스에게 오버라이드를 강제한다.3. 상속받은 클래스에서 구현하는 메서드도 모두 ..
TDD(Test- Driven Development)에 대하여
·
Programming/기타
흔히 테스트 주도 개발이라고 하는 이 개념은 짧은 개발 사이클을 반복하여 소프트웨어를 개발하는 방법론이다. 개념 자체는 이전부터 있었거나 개발되었을 수 있으나 공식적으로는 Kent Beck이라는 사람이 2003년에 개발한 것으로 알려져 있다.이 TDD에 대해서 좀 더 자세히 알아보자. TDD란 이름에서 알수 있듯 이 방법론은 테스트가 주를 이루게 된다. 흔히들 폭포수 모델이라고 하는 이 개발 방식을 한번 보자.일반적인 개발 방식은 그림처럼 요청 ->설계 -> 개발 -> 테스트 -> 배포 -> 유지보수 순으로 흘러가지만, 이 개발 방식은 다음과 같은 위험성이 있다.1. 소비자의 요청사항이 애매할 수 있다.2. 그로 인해 설계가 까다로워진다.3. 2의 원인으로 인해 테스트 비용이 증가하게 되고,4. 종합적인..
BOJ - 팰린드롬수 1259
·
코딩테스트
해결방법간단하게, 숫자를 문자열로 입력받고, 문자열의 처음과 마지막이 같다면 상관없지만, 다르다면 notPal을 true로 바꿔준다.만약 단어가 notPal이라면 no를, notPal이 false라면 yes를 출력해주는 방식으로 작성해주었다. 정답 코드#include using namespace std;int main(){ string str = "-1"; int size = 0; bool notPal = false; while (str != "0") { cin >> str; if (str == "0") return 0; size = str.size(); for (int i = 0; i