728x90

코딩 44

백준 단계별로 풀어보기,class(백준 문제 푸는 법)

프로그래밍 언어에 익숙해지고 싶어서... 코딩테스트를 준비하기 위해... 등등 여러 가지 이유로 백준 알고리즘에서 문제를 풉니다. 오늘은 효율적으로 백준 알고리즘 문제를 선정하고 푸는 방법을 소개하고자 합니다. 1. 백준 단계별로 풀어보기 백준 알고리즘에서 제공하는 문제집입니다. 유형별로 정리가 잘 되어있으며 백준을 처음 시작한다면 꼭 풀어보시기 바랍니다. 1~15단계가 언어를 익히기 위한 단계이고 16단계부터는 자료구조, 알고리즘을 배우는 단계입니다. 모든 문제를 다 풀지는 못하더라도 15단계까지는 풀어봅시다. 2. Solved.ac CLASS 문제 백준 문제들에 티어로 난이도를 매겨주는 사이트인 Solved.ac에서 제공하는 문제모음입니다. 각각의 클래스마다 컨셉이 있으며 클래스 1은 기본 문제 클래..

백준 티어 분포, 수준 비교(코테)

백준 알고리즘에는 여러 티어가 있습니다. 브론즈, 실버, 골드, 플레티넘, 다이아몬드, 루비, 마스터... 오늘은 백준에서 티어 분포가 어떻게 이루어져 있는지 확인해 봅시다. 24년 3월 19일 기준입니다. 일단 Solved.ac에 연동되어 있는 사람 수는 대략 147546명 정도입니다. 실버 5를 달성한 인원은 91128명입니다. 상위 70 %입니다. 실버를 달성하기 위해서는 200점이 필요합니다. 골드 5를 달성한 인원은 40615명입니다. 상위 31.13 %입니다. 골드를 달성하기 위해서는 800점이 필요합니다. 플레 5를 달성한 인원은 7627명입니다. 상위 5.86%입니다. 플레티넘을 달성하기 위해서는 1600점이 필요합니다. 다이아 5를 달성한 인원은 1099명입니다. 상위 0.85 %입니다...

아스키 코드 표

안녕하세요. 코딩 문제를 풀거나 아스키 코드를 공부할 때 아스키 코드 표가 꼭 필요하실 텐데요, 아래는 빠르게 볼 수 있는 아스키 코드 표입니다. 아래를 참고하여 학습하시기 바랍니다. 일단 아래는 모든 아스키 코드가 정리된 표입니다. 문자뿐만 아니라 현재는 잘 쓰이지 않는 제어 문자까지 포함하고 있습니다. 아래는 대문자 아스키 코드 표입니다. 대문자는 많이 쓰이니 잘 봅시다. 아스키 코드를 이진법, 팔진법, 십진법, 십육진법, 85진법으로도 나타내었으니 참고 하시기 바랍니다. 아래는 소문자 아스키 코드 표입니다. 소문자도 대문자만큼 많이 쓰이니 확인해 둡시다. 위 대문자 아스키 코드 표 와 마찬가지로 여러 진법으로 나타내었습니다. 이상입니다. 아스키 코드 표를 보는데 도움이 되었다면 공감 눌러주시면 감사..

백준 11726 : 2×n 타일링(C언어, C++)

오늘은 백준 11726번 문제인 2×n 타일링을 풀어보겠습니다. 이러한 타일링 문제는 다이나믹 프로그래밍(DP)을 응용할 수 있는 좋은 기본 문제로 뽑히고 있습니다. 아래에서 문제를 한 번 확인해 봅시다. 문제 링크: 11726번: 2×n 타일링 (acmicpc.net) 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ..

백준 1463 : 1로 만들기(C언어,C++)

오늘은 백준 1463 : 1로 만들기를 풀어보려고 합니다. 실버 3 난이도로 다이나믹 프로그래밍을 연습하는 좋은 문제인데요, 한번 풀어봅시다. 문제 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다. 해설 문제를 처음 보면 감이 안 잡힐 수도 있습니다. "12부터 시작한다면 12에서 3으로 나누기, 2로 나누기, 1 빼기 중에 어..

백준 10989 - 수 정렬하기 3(C언어,C++)(계수 정렬)

오늘은 백준 10989 수 정렬하기 3문제에 대해 알아보는 시간을 가지겠습니다. 문제를 풀면 분명 맞다고 생각되는데 계속 시간초과나 메모리초과가 나오기에 당황하셨을 겁니다. 오늘은 왜 틀리고 어떻게 해야 하는지 C언어에서 알아보겠습니다. 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 해설 문제 조건을 보면 N은 1~ 1천만 까지 주어집니다. 그리고 메모리 제한은 8mb입니다. 만약 N만큼 배열을 선언하여 수를 입력받으..

[C언어/C++,자바,파이썬] 온라인 컴파일러 사이트 추천

C언어, C++, 자바, 파이썬 온라인 컴파일러 사이트 추천 개발을 하거나 알고리즘 문제를 풀 때 보통 비주얼 스튜디오 같은 프로그램을 사용합니다. 하지만 이러한 프로그램을 사용하지 못하는 환경이면 온라인에서 실행가능한 컴파일러 사이트를 사용해야 합니다. 보통 군대에서 사지방을 이용할 때 처하는 상황인데 오늘은 여러 C언어, C++, 자바, 파이썬 온라인 컴파일러 사이트를 추천해 드리겠습니다. 여러분의 취향에 맞는 사이트를 사용하시면 되겠습니다. 1. CS Academy 사이트 링크 : https://csacademy.com/workspace/ CS Academy csacademy.com 제가 백준 문제를 풀 때 가장 애용하는 사이트입니다. 제가 생각했을 때 알고리즘 문제를 풀 때 가장 최적화된 사이트 ..

[C언어/C++] 소수점 개수(자리)지정 방법 정리

소수점 개수(자리, 범위) 지정 방법 정리 코딩을 하거나 백준 문제를 풀거나 하다 보면 소수(실수)를 출력하는 경우가 생깁니다. 특히 소수점의 개수를 지정해줘야 하는 경우가 많이 생기는데 오늘은 그 방법을 한번 알아보겠습니다. 참고로 C언어, C++ 두 개 모두 방법을 알아볼 예정입니다. 가장 먼저 C언어에서 알아보겠습니다. C언어 C언어에서는 출력 시 printf를 주로 사용하는데 이곳에서 바로 지정해 줄 수 있습니다. printf, scanf는 입력, 출력 시 자료형을 직접 지정해 줘서 번거로운데 이 단점이 소수를 출력해 줄 때에는 장점이 됩니다. 아래 코드를 살펴봅시다. #include int main(void) { double a=123456.123456789; printf("%.9lf", a);..

[C++] 1차원, 2차원, 3차원 배열 초기화 정리(fill, fill_n,memset,전역,지역)

1차원, 2차원, 3차원 배열 초기화 하기 알고리즘 문제를 풀 때 배열을 특정 원소들로 채워 넣는 경우가 있는데요, 오늘은 C언어와 C++에서 배열 초기화 하는 여러 가지 방법을 알려드리겠습니다. fill, fill_n, memset등에 대해 소개하겠습니다. 일단 전역변수와 지역변수에 대해 알아봅시다. 함수안에 선언된 변수를 '지역변수', 함수 밖에 선언된 변수를 '전역변수'라고 하는데 어디에 선언되냐에 따라 초기화 여부가 달라집니다. 배열도 마찬가지입니다. 전역변수 배열이 함수밖에 선언된다면 배열 안의 모든 값은 0으로 자동 초기화 됩니다. #include using namespace std; int a[5]; int main() { for(int i=0; i

아스키코드(ASCII Code) 정리, 활용

아스키코드 정리 오늘은 아스키 코드에 대하여 알아보겠습니다. 아스키코드는 미국 국제 표준 협회(ANSI)에서 1963년 표준화한 정보교환 부호체계입니다. 아스키코드는 7비트로 128(2^7) 개의 부호가 지정되어 있습니다. 1바이트는 8비트인데 7비트만 쓰이는 이유는 나머지 1비트는 패리티 비트라고 오류 검출에 쓰이기 때문입니다. 아래는 아스키코드 표입니다. 대문자 A는 65 소문자 a는 97입니다. 이 둘은 기억해 둡시다. 아스키코드를 활용하면 문자와 숫자 변환이 가능해집니다. 숫자를 이용해 문자 출력이 가능해지며 문자를 이용해 숫자 출력이 가능해집니다. 아래 예시를 보겠습니다. #include using namespace std; int main() { cout

728x90