https://www.acmicpc.net/problem/2493 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 문제분석 탑이 있고, 그 탑의 꼭대기에서
https://www.acmicpc.net/problem/1711 1711번: 직각삼각형 첫째 줄에 점의 개수 N(3 ≤ N ≤ 1,500)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 점의 x좌표와 y좌표가 빈 칸을 사이에 두고 주어진다. 좌표값은 절댓값이 1,000,000,000을 넘지 않는 정수이며, 주 www.acmicpc.net 문제분석 직각삼각형이 가능한 점들로 만들 수 있는 직각삼각형 갯수를 구하면 되는 단순한 문제이다. 해결과정 피타고라스 정리를 활용하였으며, 시간을 최대한 줄이기 위해 한번씩만 탐색하도록 하였다. dotcount=int(input()) arr=[] for i in range(dotcount): arr.append(list(map(int,input().split()))) ..
사용법 int a = 3;//a 변수 선언 int& another_a = a;//another_a 참조자 선언=a 대입 another_a=15;//another_a가 가리키는 a의 값을 15로 바꿈 유의사항 int& another_a;//오류발생. 참조자 선언과 동시에 변수 대입해줘야함 another_a=b;//오류발생. 한번 참조자가 되면 다른 변수를 참조할 수 없음. 참조자는 메모리 상 존재하지 않을 수도 있다. 참조자위치에 참조한 변수 넣으면 되기 때문. #include int change_val(int &p) {//int &p=number라고 실행됨. 따라서 p = 3; //p=3이 가능한것 return 0; } int main() { int number = 5; std::cout
(C,C++)포인터 변수의 주소를 나타내는 변수 선언: char *test; show_status(); marines[1]->show_status();//->화살표로 사용 함수에 변수 보내서 사용 carculate_and_result(int a,int b,int* result){ *result=a+b; } int main(){ int temp1=10; int temp2=15; int result=0; carculate_and_result(temp1,temp2,&result); printf("%d",result); } result를 함수 내에서만 사용되고 사라지는걸 방지하기 위해, 주소로 받은다음 값을 변환
https://www.acmicpc.net/problem/2591 2591번: 숫자카드 1부터 34까지 수가 적힌 카드가 충분히 많이 있다. 이들 중 몇 장을 일렬로 늘어놓고, 그 숫자를 차례로 적었다. 예를 들어 아래와 같이 카드가 놓인 경우 숫자를 차례로 적으면 27123이 된다. 나중 www.acmicpc.net 문제분석 숫자가 주어지고, 숫자를 카드로 나타내는 것. (단, 카드는 1~34까지 무제한으로 있다) 문제자체는 너무쉽다. 21이면 21카드와 2와 1카드 두개로 나타낼 수 있으니, 가짓수는2개. 312면 3/1/2, 31/2, 3/12, 가짓수3개. 해결과정 문제를 보자마자 든 생각은, 재귀함수를 사용하자!였다. 너무 재귀함수를 사용하기 예쁜 그림이였다. 숫자하나빼고, 남은숫자로 함수또돌리..
https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제분석 두 전봇대 A와 B가 있는데, 전선을 겹치치않게 하려면 최소 몇개를 빼야 하는가? 해결 아이디어-1(실패함) 나만 이생각한줄 알았는데, 검색해보니 그냥 사람이라면 떠오르는 보편적인 아이디어였다.. 가장 많이 겹치는 전깃줄부터 제거. 예시도 한번에 통과하길래...그냥 프리패스일줄 알았으나... 이유를 게시판에서 반례찾다가 알게되었다 https://www.acmicpc.net/board/view/8..
https://www.acmicpc.net/problem/2590 2590번: 색종이과 같이 정사각형 모양을 한 여섯 종류의 색종이가 있다. 1번 색종이는 한 변의 길이가 1cm이고, 차례대로 그 길이가 1cm씩 커져, 6번 색종이의 한 변의 길이는 6cm가 된다. 주어진 색www.acmicpc.net반례 입력값 찾다가 뒤질뻔했다. 결국 못찾아서 코드뒤적거리면서 고쳤다...절때 반례 입력값 찾으려 시도하지말것... 23.11.22 아래 풀이가, 그리디한(큰 색종이부터 넣기) 풀이라고 합니다.문제 분석이건 저번 보석문제보다 더욱 분석할게 없다. 정사각형(6x6)칸에 색종이 안겹치게 겹치면 된다. 색종이는 1x1~6x6정사각형 크기로 이루어져있다. 한줄씩 띄어서, 순서대로 1x1~6x6 갯수를 입력받고, 정..
https://www.acmicpc.net/problem/2492 2492번: 보석 첫째 줄에 4개의 정수 N, M, T, K가 빈칸을 사이에 두고 주어진다. N은 지도의 너비를 나타내고, M은 지도의 높이를 나타낸다(1 ≤ N, M ≤ 1,000,000). T는 금강석의 개수를 나타내고, K는 정사각형의 크 www.acmicpc.net 첫 골드문제 해결이여서 너무 뿌듯해서 블로그를 시작하게 되었다. 실버까지는 어찌저찌되는데, 골드만되면 알고리즘 쓰라고 닥달을... 아직 알고리즘 배우기 전이여서 어찌저찌 해결했다. 너무뿌듯함!ㅋㅋ 아래는 알고리즘 없는 풀이입니다 문제 분석 문제 자체는 사고력 수학책에 나올법한 쉬운 문제이다. 이걸 짜는게 문제지... 이 그림과 같이, 좌표평면 가로와 세로 길이를 주어주고..