분류 전체보기

· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net 2. 접근 * 형식 지정자 %d : 10진 정수 %f : 실수, 소수점 6자리부터 출력(고정소수점) %5d : %와 d 사이의 숫자만큼 띄어줌 %e : 부동형(실수형)으로 출력, 실수의 소수점 아래 값을 00으로 표시 %x : 16진수 값으로 출력 %o : 8진수 값으로 출력 %s : 문자열로 출력 %c : 1개의 문자로 출력 %g : 실수형을 간소화 %n : 지금까지 출력한 문자의 개수 저장 %p..
· 기타
토익이나 정부24 등의 공문서를 발급할 수 있는 '모두의 프린터' 어느 순간부터 "해당 프린터로 인쇄를 진행할 수 없습니다. 정상적인 프린터로 출력을 진행하시기 바랍니다." 라는 오류가 떴다. 모두의 프린터를 삭제 후 다시 깔아보고, 설치된 프린터를 삭제 후 다른 프린터를 설치해봤지만 오류는 여전했다. 모두의 프린터 개발자 사이트에서 UPnP 설정을 하면 해결할 수 있다고 하지만 해결되지 않았다. 마지막 남은 해결책은 VMware(가상머신)으로 해결하는 방법인데, 복잡해 보이지만 문제를 쉽게 해결할 수 있었다. 1. 모두의 프린터 다운 https://modu-print.tistory.com/789?category=833311 모두의 프린터 v2.95 다운로드 다운로드시 위험경고가 뜨면서 다운로드가 안되시..
1. 그래프 순회(Graph Traversal) 순회란 ? 그래프의 모든 노드를 방문하는 일 BFS(너비우선순회) DFS(깊이우선순회) 1) BFS L0 = {s} (s : 출발노드) L1 = L0의 모든 이웃 노드 L2 = L1의 이웃들 중 L0에 속하지 않는 노드들 . . Li = Li-1의 이웃들 중 Li-2에 속하지 않는 노드들 의 순서로 노드를 방문한다. 👉 level-order travasal 방식 - 큐를 이용한 너비우선순회 ① s가 1인 노드부터 순회를 시작, 방문한 노드임을 체크 후 큐에 넣음 ② 1을 큐에서 제거한 후 인접노드인 2, 3을 큐에 삽입 ③ 2를 큐에서 제거한 후 2의 인접노드인 4, 5를 큐에 삽입 ④ 3을 큐에서 제거한 후 3의 인접노드인 7, 8을 큐에 삽입 ⑤ 4를 ..
1. 그래프의 개념 그래프 G는 두 개의 집합 V와 E로 구성 V : node 혹은 vertex E : node 쌍을 연결하는 edge -> V(G)와 E(G)는 그래프 G의 정점들의 집합과 간선들의 집합을 나타냄. -> 개체들 간의 이진관계 표현 V = {1,2,3,4,5,6,7,8} E = {(1,2), (1,3), (2,3), .. , (7,8)} n = |V| = 8 m = |E| = 11 그래프의 종류에는 2가지가 있다. 방향그래프(Directed Graph) G = (V,E) : edge (u,v)는 u->v 가중치 그래프(Weighted Graph) : edge 마다 가중치 지정 2. 그래프의 표현 * 무방향 그래프 1) 인접행렬 (adjacency matrix) : n x n 행렬 A = ..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 2. 접근 https://2nnsv.tistory.com/11?category=1281866 3. 문제풀이 #include #define max 1001 int main() { int N, K, a[max], cnt=0; scanf_s("%d %d", &N, &K); for (int i = 2; i
* 에라토스테네스란 ? 소수를 찾아내는 방법 2부터 소수를 구하고자 하는 구간의 모든 수를 나열한다. 그림에서 회색 사각형으로 두른 수들이 여기에 해당한다. 2는 소수이므로 오른쪽에 2를 쓴다. (빨간색) 자기 자신을 제외한 2의 배수를 모두 지운다. 남아있는 수 가운데 3은 소수이므로 오른쪽에 3을 쓴다. (초록색) 자기 자신을 제외한 3의 배수를 모두 지운다. 남아있는 수 가운데 5는 소수이므로 오른쪽에 5를 쓴다. (파란색) 자기 자신을 제외한 5의 배수를 모두 지운다. 남아있는 수 가운데 7은 소수이므로 오른쪽에 7을 쓴다. (노란색) 자기 자신을 제외한 7의 배수를 모두 지운다. 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 이므로 11보다 작은 수의 배수들만 지워도 충분하다. 즉, ..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 2. 접근 알파벳 입력에 따라 해당되는 num이 달라지고, 입력할 때마다 t가 증가한다 만약에 WA를 입력 받았다면, W에 해당되는 num은 9이고 t는 10이다. A에 해당되는 num은 2이고 t는 3이다. 따라서 결과는 13 int dial(int w) { int num, t; if (w == 'A' || w == 'B' || w == 'C') { num = 2; t = 3; } if (w == 'D' || w == 'E' || w == 'F') { num = 3; ..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 2. 접근 단순하게 생각했을 때는, 입력받은 a와 b를 배열에 저장해 배열의 순서를 반대로 바꾸고 각 배열의 첫번째를 서로 비교, 같다면 각 배열의 두번째를 비교, 같다면 각 배열의 세번째를 비교하도록 생각했다. "a[0] > b[0]" -> true -> a 출력 -> false -> "a[0] b 출력 -> "a[0] == b[0]" -> "a[1] > b[1]" -> tru..
· PS/BOJ
1. 문제 https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 2. 접근 ' ' 단위로 구분해 배열에 입력받는다. 문자열의 첫번째 혹은 마지막에 공백이 있는지 확인한다. 3. 문제풀이 #define _CRT_SECURE_NO_WARNINGS #include #include char a[1000005]; int main() { int ans = 0; scanf("%[^\n]s", a); // 공백이 나올 때까지 입력받음 if (a[0] != '..
스터디 과제를 하던 중 알게 된 것을 정리했다. scanf로 문자열을 입력받는 방법들이다. ⓐ 일반적인 입력 char str[100] scanf("%s", &str); 👉 str에 공백 혹은 엔터가 있을 때까지 입력받기 ⓑ 공백을 포함한 문자열 scanf("%[^\n]s", &str); 공백을 포함해 입력받기를 원하는 경우, gets나 fgets도 사용하지만 scanf로도 구현가능 👉 [] 안의 문자를 받을 때까지 입력을 받음 예를 들어, '*'이 나올 때까지 입력을 받는 경우라면, scanf("%[^*]s", &str); 로 표현할 수 있다. 그렇다면, [] 안의 문자를 제외하고 읽을 수는 없을까? scanf("%[^*]%*c", &str); '*c'는 [] 안의 문자를 제거하고 읽는다. 이 코드는 '..
소-은
'분류 전체보기' 카테고리의 글 목록 (14 Page)