전체 글 115

[OpenGL] 이미지 출력하기

[OpenGL] 이미지 출력하기 * 코딩 환경 Visual Studio 2019 파일 로드를 위한 헤더 이미지를 읽어오기 위해 아래 깃허브에서 헤더를 다운로드한다. 여기서 우리는 stb_image.h를 사용할 것이다. https://github.com/nothings/stb/blob/master/stb_image.h GitHub - nothings/stb: stb single-file public domain libraries for C/C++ stb single-file public domain libraries for C/C++. Contribute to nothings/stb development by creating an account on GitHub. github.com - 사용가능한 파일 확..

여러가지 비트 연산

여러가지 비트 연산 최하위 비트 구하기 : 2의 보수의 특징을 활용함. [연산 방법] 1 num & (-num) cs [예제 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main() { //0000 1010 int num = 10; //0000 0010 int result = num & (-num); //output printf("%d\n", result); return (0); } cs 다음 비트가 처음으로 0이 나오는 자리 구하기 [연산 방법] 1 ((num ^ (num + 1)) + 1) / 4 cs *중간에 0이 없을 경우 최상위 비트를 반환함. [예제 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main()..

[C++] 백준 23057 : 도전 숫자왕

백준 23057 : 도전 숫자왕 문제 링크 https://www.acmicpc.net/problem/23057 23057번: 도전 숫자왕 모든 카드에 적힌 수의 합을 $M$이라고 할 때, 1 이상 $M$ 이하의 자연수 중 만들 수 없는 수의 개수를 출력한다. www.acmicpc.net 문제 내용 오늘은 즐거운 축제날이다. 백남이는 축제에서 무엇을 할까 돌아다니던 중 도전 숫자왕이라는 행사를 발견했고 100만 원이라는 상금에 홀려 바로 참가하였다. 도전 숫자왕은 N개의 숫자 카드를 조합하여 다양한 수를 만드는 게임이다. 이번 라운드에서는 카드의 적힌 수의 합으로 만들 수 없는 수의 개수를 외치면 이긴다. 백남이가 1등을 하여 축제를 즐길 수 있도록 도와주자. 첫 번째 줄에는 카드의 개수 N(1≤N≤20)..

백준 Baekjoon 2021.09.19

[C++] 백준 16953 : A → B

백준 16953 : A → B 문제 링크 https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제 내용 정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다. 2를 곱한다. 1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자. 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다. Idea A에서 B가 되기 위한 연산은 두 가지밖에 없다. 따라서 아래와 같은 알고리즘으로 풀었다. 2를 곱하거나 1을 수..

백준 Baekjoon 2021.07.27

[C++] 백준 1916 : 최소비용 구하기

백준 1916 : 최소비용 구하기 문제 링크 https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제 내용 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 첫째 줄에 도시의 개수 N(..

백준 Baekjoon 2021.07.22

[php] class 간의 상속, 개체 확장

[php] class 간의 상속, 개체 확장 특징 부모 클래스(parent class)를 재사용하기 위함. 자식 클래스(child class)라고도 불리는 하위 클래스는 부모 클래스의 모든 메서드와 속성을 가지고 시작하며, 각각을 수정하거나 추가 요소를 넣을 수 있다. 예제 [부모 클래스] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Colored by Color Scripter cs [전체 코드] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 ..

[C언어] 백준 1987 : 알파벳

백준 1987 : 알파벳 문제 링크 www.acmicpc.net/problem/1987 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 문제 내용 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두..

백준 Baekjoon 2021.04.22

[C언어] 백준 10162 : 전자레인지

백준 10162 : 전자레인지 문제 링크 www.acmicpc.net/problem/10162 10162번: 전자레인지 3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은 www.acmicpc.net 문제 내용 3개의 시간 조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작 시간에 더해진다. 버튼 A, B, C에 지정된 시간은 각각 5분, 1분, 10초이다. 냉동음식마다 전자레인지로 요리해야할 시간 T가 초단위로 표시되어 있다. 우리는 A, B, C 3개의 버튼을 적절히 눌..

백준 Baekjoon 2021.04.22

[C/C++] atoi 구현 / 문자열을 숫자로

atoi 구현 / 문자열을 숫자로 atoi 기본 개념 및 구조 #include 에 내장된 함수인 atoi는 문자열을 숫자로 바꿔주는 함수이다. atoi의 구조는 아래와 같다. 1. 문자열의 초반에 오는 공백 문자(white-space characters)는 무시한다. - whitespace : \t, \v, \n, \f, \r, ' ' - 아스키코드로는 9부터 13까지, ' '는 32 - man isspace 명령어를 사용해보자(리눅스 한정) 2. 부호(+, -)는 최대 한 개까지만 올 수 있다. - 만일, 두 개 이상이라면 0이 반환된다. - 부호가 없다면 기본 양수이다. 3. 숫자를 한번 읽기 시작한다면 다른 문자가 오기 직전까지만 읽는다. - ex) 1234 → 1234 - ex) 12a34 → 1..