전체 글 163

[BOJ] 11650번 : 좌표 정렬하기

🔒 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 🖨 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 📚 예제 Ex1) 5 3 4 1 1 1 -1 2 2 3 3 1 -1 1 1 2 2 3 3 3 4 📌 풀이 파이썬 2차원 배열 입력 받는게 헷갈린다 리스트 선언 리스트에 append 이용해서 리스트 또 받음 => 한줄에 2개씩 값을..

[BOJ] 2108번 : 통계학

🔒 문제 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. 🖨 출력 첫째 줄에는 산술평균을 출력한다. 소..

[BOJ] 10989번 : 수 정렬하기3

🔒 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. 🖨 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 📚 예제 Ex1) 10 5 2 3 1 4 2 3 5 1 7 1 1 2 2 3 3 4 5 5 7 📌 풀이 처음에 sort함수 사용했는데 메모리 초과가 떴다. 그래서 구글링해보니 sort함수는 메모리 사용을 많이 한다고 한다. 그래서 계수 정렬을 이용했다. 계수 정렬은 주어지는 수의 범위가 작을때 사용하면 좋은 정렬로, 이 문제에서 자연수의 범위가 10000이하 이..

[BOJ] 1427번 : 소트인사이드

🔒 문제 배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. ⌨ 입력 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. 🖨 출력 첫째 줄에 자리수를 내림차순으로 정렬한 수를 출력한다. 📚 예제 Ex1) 2143 4321 Ex2) 999998999 999999998 Ex3) 61423 64321 Ex4) 500613009 965310000 📌 풀이 주어진 수의 각 자리 수를 배열에 저장한 뒤 버블 소트를 사용했다 🔑 c언어 코드 #include #include #define SWAP(x,y,t)(t=x,x=y,y=t) int sort(int* ary, int N); void print(int* ary, int N..

[c++] 타입

타입 1. 변수 1) 변수 (variable) : 데이터를 저장하기 위해 프로그램에 의해 이름을 할당 받은 메모리 공간 즉 변수는 데이터를 저장할 수 있는 메모리 공간을 의미하고, 저장된 값은 변경 가능 정수형 : char형, int형, long혈, long long혈 실수형 : float형, double형 구조체 : 서로다른 변수형 데이터 묶어서 처리 가능 ( 정수형, 실수형 같이 사용 가능) 2) 변수 이름 생성 규칙 : 변수 이름 생성시 저장할 데이터를 잘 나타낼 수 있게 지으면 좋음 (1) 변수 이름은 영문자(대소문자),숫자,언더바( _ )로만 구성 가능 (2) 변수 이름 숫자로 시작 불가 (3) 변수 사이에 공백 포함 불가 (4) 변수 이름으로 c++에 미리 정의된 키워드 사용 불가 ex) in..

[c++] 시작

c++ 시작 1. c++ : c언어 여러가지 기능 추가한 언어 c++ = c언어의 절차 지향적 특징 + class 사용하는 객체 지향적 특징 2. c++ 프로그래밍 프로그래밍 : 소스 파일 -> 실행 파일 1) 소스 파일(source file) 작성 : c++문법에 맞게 논리적으로 작성된 프로그램 원시 파일이라고 하기도 함 c++을 통해 작성된 소스 파일의 확장자는 대부분 .cpp 2) 선행처리기(preprocessor)에 의한 선행 처리 : 소스 파일 중 선행처리 문자(#)으로 시작하는 선행처리 지시문의 처리 작업 선행처리 작업은 선행처리기에 의해 처리됨 코드를 생성하는 것이 아닌, 컴파일 하기 전 컴파일러가 작업하기 좋도록 소스를 재구성해주는 역할만을 함 3) 컴파일러(compiler)에 의한 선행 ..

[c++] c++을 시작하며

c++을 시작하며 백준 2751번 문제를 풀면서 c언어로 함수를 만들었더니 계속 시간 초과가 떴다. 화가 나서 c++을 해볼까해서 지금부터 시작할거다. 망고가 추천해준 곳에서 c++ 공부할거다. c++로도 안되면 고망고 가만안둔다 딱대 그러면 파이썬하라네요 이 친구 가만안두어 밤길조심해 밑에는 c++ 공부할 곳의 링크 c언어랑 다른 부분만 골라서 공부할 예정! 갓생살기 시작~ tcpschool http://www.tcpschool.com/cpp/intro

[BOJ] 2751번 : 수 정렬하기 (★)

🔒 문제 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. ⌨ 입력 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. 🖨 출력 첫째 줄부터 N개의 줄에 오름차순으로 정렬한 결과를 한 줄에 하나씩 출력한다. 📚 예제 Ex1) 5 5 4 3 2 1 1 2 3 4 5 📌 풀이 bubble sort 사용=> 시간 초과 🔨 실패한 코드 int sort(int* ary, int N) { int t; for (int i = 0; i ary..

[BOJ] 25305번 : 커트라인

🔒 문제 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 $N$명의 학생들이 응시했다. 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라. 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다. ⌨ 입력 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다. 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다. 🖨 출력 상을 받는 커트라인을 출력하라. 📍 제한 1

[BOJ] 1436번 : 영화감독 숌

🔒 문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666,..