C 16

[백준/Baekjoon]<2292번> 벌집 [C/C++/Python][Class 2]

문제 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 입력 첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다. 출력 입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다. 제한 예제 입력 1 13 예제 출력 1 3 #문제 풀이 방법 1. 숫자 N(1 ≤ N ≤ 1,000,000,000)이 입력되고, 위와 같..

PS/백준 2022.09.24

[백준/Baekjoon]<2231번> 분해합 [C/C++/Python][Class 2]

문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 출력 첫째 줄에 답을 출력한다. 생성자가 없는 경우에는 0을 출력한다. 제한 예제 입력 1 216 예제 출력 1 198 #문제 풀이 방법 1. N이 입력되고 '분해..

PS/백준 2022.09.21

[백준/Baekjoon]<4153번> 직각삼각형 [C/C++/Python][Class 2]

문제 과거 이집트인들은 각 변들의 길이가 3, 4, 5인 삼각형이 직각 삼각형인것을 알아냈다. 주어진 세변의 길이로 삼각형이 직각인지 아닌지 구분하시오. 입력 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. 출력 각 입력에 대해 직각 삼각형이 맞다면 "right", 아니라면 "wrong"을 출력한다. 제한 예제 입력 1 6 8 10 25 52 60 5 12 13 0 0 0 예제 출력 1 right wrong right #문제 풀이 방법 1. 세 변의 길이가 계속 입력되고, 직각삼각형의 여부를 파악하여 출력한다. 2. 일단 0 0 0이 입력되면 종료되는 반복문을 사용한다. 3. ..

PS/백준 2022.09.20

[백준/Baekjoon]<1085번> 직사각형에서 탈출 [C/C++/Python][Class 2]

문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 x, y, w, h가 주어진다. 출력 첫째 줄에 문제의 정답을 출력한다. 제한 1 ≤ w, h ≤ 1,000 1 ≤ x ≤ w-1 1 ≤ y ≤ h-1 x, y, w, h는 정수 예제 입력 1 6 2 10 3 예제 출력 1 1 예제 입력 2 1 1 5 5 예제 출력 2 1 예제 입력 3 653 375 1000 1000 예제 출력 3 347 예제 입력 4 161 181 762 375 예제 출력 4 161 #문제 풀이 방법 1. 한수의 위치(x,y)와 직사각형 오른쪽 ..

PS/백준 2022.09.19

[백준/Baekjoon]<1546번> 평균 [C/C++/Python][Class 1]

문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 정답과 출력값의 절대..

PS/백준 2022.09.18

구글이 Carbon이라는 또 다른 프로그래밍 언어를 내놓았다.(feat.C++)

Google Carbon Language: An experimental successor to C++ Go와 Dart 등의 언어를 만든 구글이 20일 Carbon 언어를 새롭게 발표했다. 구글의 오픈소스 엔지니어 Chandler Carruth가 CppNorth2022 개발자 컨퍼런스에서 'C++: What Comes Next?'라는 주제로 Carbon을 소개했다. C++를 왜 바꾸려하나 C++는 오랜 시간동안 넓은 기반과 커뮤니티를 갖고 있다. 따라서 소프트웨어의 성능과 관련해 중요한 프로그래밍 언어이다. 그런데 문제가 있다. 수십 년에 걸친 기술 발전을 감당하지 못해 개발자의 요구 사항을 충족시키지 못하는 상태이다. 따라서 Chandler는 현대 제네릭 시스템, 모듈러 코드 조직, 일관되고 단순한 구문..

ITnews 2022.07.25

[백준/Baekjoon]<9498번> 시험 성적 [C/C++/Python][Class 1]

문제 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다. 출력 시험 성적을 출력한다. 예제 입력 1 100 예제 출력 1 A #문제 풀이 방법 1. 시험 성적 N이 입력된다. 2. N이 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F을 출력한다. 3. 시험 성적을 구분하기 위해 조건문을 사용한다. #C/C++ #include using namespace std; int main() { int a; cin>>a; if(a>..

PS/백준 2022.07.10

[백준/Baekjoon]<2741번> N 찍기 [C/C++/Python][Class 1]

문제 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 예제 입력 1 5 예제 출력 1 1 2 3 4 5 #문제 풀이 방법 1. 100,000보다 작거나 같은 N을 입력받는다. 2. 예제 출력1과 같이 1~N까지 차례대로 출력한다. 3. 1~N까지 출력하기 위해 반복문을 사용하자! #C #include #include int main() { int a; scanf("%d",&a); for(int i=1;i> a; for (int i = 1 ; i

PS/백준 2022.07.09

[백준/Baekjoon]<2739번> 구구단 [C/C++/Python][Class 1]

문제 N을 입력받은 뒤, 구구단 N단을 출력하는 프로그램을 작성하시오. 출력 형식에 맞춰서 출력하면 된다. 입력 첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 9보다 작거나 같다. 출력 출력형식과 같게 N*1부터 N*9까지 출력한다. 예제 입력 1 2 예제 출력 1 2 * 1 = 2 2 * 2 = 4 2 * 3 = 6 2 * 4 = 8 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 2 * 8 = 16 2 * 9 = 18 #문제 풀이 방법 1. 1보다 크고 9보다 작거나 같은 N의 값을 입력받는다. 2. 예제 출력 1 처럼 N*1~N*9까지 출력해야한다. 3. 1~9까지 출력해야하므로 반복문을 사용하면 될 것이다. #C #include #include int main() { int a;..

PS/백준 2022.07.09

[백준/Baekjoon]<2557번> Hello World [C/C++/Python][Class 1]

문제 Hello World!를 출력하시오. 입력 없음 출력 Hello World!를 출력하시오. 예제 입력 1 예제 출력 1 Hello World! #문제 풀이 방법 아주 쉽다고 할 수 있다. 출력해주는 함수만 사용할 줄 안다면 바로 풀 수 있다. (개인적으로 코딩을 잘한다고 생각하지 않는데, 아무리 그래도 그렇지 이 문제가 정답률이 39.9%인 것은 뭔가 이상하다) #C #include int main() { printf("Hello World!\n"); return 0; } #C++ #include using namespace std; int main() { cout

PS/백준 2022.07.08
반응형