전체 글

HSU 21학번 4학년 컴퓨터 공학부(웹공학 트랙) 재학중입니다. 코딩 잘 못 합니다. (항시 노력 중..) 백준 : possible 깃허브 : https://github.com/T3Tm
코딩테스트/백준 코딩

백준 / 백트래킹 / 랭퍼든 수열쟁이야!! (boj15918,c11)

문제 https://www.acmicpc.net/problem/15918 15918번: 랭퍼든 수열쟁이야!! 세 자연수 n, x, y가 주어진다. (2 ≤ n ≤ 12, 1 ≤ x < y ≤ 2n, 1 ≤ y-x-1 ≤ n) www.acmicpc.net 입출력 해설 해당하는 문제는 굉장히 심플한 백트래킹 문제이다. 해당하는 인덱스 0부터 최대 23까지 24개의 숫자들을 놔두면 되는 것이다. 여기서 어떤 것을 기준으로 백트래킹하는 지에 따라 시간초가 갈리게 된다.(본인은 처음에 숫자를 기준으로 백트래킹했음) 중요한 것은 x와 y에는 같은 수가 있어야 하므로 x,y인덱스에는 무조건 들어가야하는 숫자는 정해져 있기에 미리 넣는다. 그리고 i숫자 사이에는 i개의 수가 있어야 되기에 인덱스를 골랐으면 인덱스 + ..

코딩테스트/백준 코딩

백준 / 브루트 포스 / 리모컨 (boj1107, c11)

문제 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 입출력 해설 해당하는 문제는 브루트 포스로 풀어도 되지만 본인은 bfs 방식을 먼저 떠올렸기에 bfs를 이용해서 풀었다. 일단 c언어로 풀기에 queue를 직접 구현해서 bfs를 돌렸다.(큐 구현 -> https://i-m-possible.tistory.com/13) 일단 bfs를 돌릴 때 n과 같아지면 return 하게 되고, next로 나올 수 있는 숫자들은 0부터 9의 ..

자료구조/by C

c언어 vector 구현

c++ vector를 c언어에서도 쓰고 싶어서 간단하게 만들어 봤습니다. #include typedef long long ll; typedef struct node{//해당하는 값을 arr로 갖는다. int v; }node; typedef struct vector{//인덱스 접근 가능해야 하며, size 존재, back, pop_back, node* arr;//값을 저장하는 곳 ll size;//크기 ll capacity;//전체 크기 }vector; void init(vector *q){ q->arr=(node *)malloc(sizeof(node)*(64)); q->size=0; q->capacity=64;//초기 크기 64개 } void push_back(vector *q,int v){//v가 추가..

자료구조/by C

c언어 queue 구현

나만의 queue 구현 코드 #include #define ll long long typedef struct newtype{ int v;//자료형 새로 추가하면 된다. }newtype; typedef struct node{ struct newtype x;// struct node* next;//다음 노드 가리키기 }node; typedef struct queue{//front,pop,size,empty,push node* front;//처음에 연결 node* back;//마지막에 바로 연결 ll size; }queue; void init(queue* q){ q->front=NULL; q->back=NULL; q->size=0; } void push(queue *q,newtype v){//qush하려면 n..

코딩테스트/백준 코딩

백준 / 시뮬레이션 / 아주 서바이벌 (boj23293, c11, python3)

문제 https://www.acmicpc.net/problem/23293 23293번: 아주 서바이벌 때는 2021년, 대한민국에는 '아주 서바이벌'이라는 온라인 게임이 대 유행 중이다. 이 게임은 바다 한가운데의 섬, 아주 아일랜드에서 벌어지는 배틀로얄 게임으로 플레이어들은 아주 아일랜드의 www.acmicpc.net 입출력 해설 해당 문제는 굉장히 심플하다. 하지만 티어가 낮아서인지 문제가 굉장히 주어지는 것이 적다. 그것을 하나하나 설명해보겠다. 이 문제에서 주의깊에 봐야하는 것이 뭐냐면 1. 부정행위가 무엇인지. 2. 차단행위가 무엇인지. 3. 부정행위를 했을 때?, 차단행위를 했을 때? 일단 위에 1,2,3번을 보기 전에 해당 문제를 초기 세팅을 보자. 1. 플레이어들은 모두 1번 지역에서 시작..

코딩테스트/백준 코딩

백준 / 브루트포스 / 표적지 옮기기 (boj23973, c11)

문제 https://www.acmicpc.net/problem/23973 23973번: 표적지 옮기기 첫째 줄에 사격판의 크기를 나타내는 정수 N과 M이 주어진다. (1 ≤ N, M ≤ 2,500) 다음 N개의 줄에는 사격판의 정보가 주어진다. 0은 사격이 명중하지 않은 칸을, 1은 사격이 명중한 칸을 의미한 www.acmicpc.net 입출력 해설 일단 이 문제는 굉장히 악랄하다. 처음에는 굉장히 쉬워보이지만 잘못 접근하다가는 시간초과를 맛볼 수 있게 된다. (필자도 그러했음..) 일단 이 문제는 n과m이 최대 2500으로 전부를 돌아보면서 하기에는 2500*2500으로 정답이 되는지 판별까지 하기에는 시간초과를 볼 수 있다. 그렇기에 판별을 할 때 사격판이 일단 1이 되는지를 확인한다. 왜 그럴까? ..

코딩테스트/백준 코딩

백준 / 정수론 / 뒤집어진 소수 (boj10859, c11)

문제 https://www.acmicpc.net/problem/10859 10859번: 뒤집어진 소수 어제 자다가 알람 시계를 떨어뜨렸는지, 08:15분이 51:80분이 되어 있었다. 그때 나는 디지털로 표시된 어떤 숫자는 180도 뒤집혔을 때도 숫자가 될 수 있다는 걸 깨달았다. 소수 18115211이 디지털로 www.acmicpc.net 입출력 해설 1. 입력 들어오는 수가 소수인지 판별한다. 2. 소수일 때 뒤집는다. 3. 뒤집으면서 3,4,7이 들어있으면 수가 될 수 없으므로 그만 뒤집고 no를 출력한다. 4. 다 뒤집었을 때 소수인지 판별하면 된다. 정답코드 c언어 더보기 #include #include #include /* https://www.acmicpc.net/problem/10859 1..

코딩테스트/알고리즘 공부

- 2일차 기초 코드 작성 요령 (함수 인자,코드 작성 팁)

해당 포스터는 파킹독님의 유튜브를 보고 작성되는 점 참고해주세요. https://www.youtube.com/watch?v=6lhVHP8bkPA 함수 인자 다음 두 코드를 보고 차이점을 한 번 생각해보자. void func(int a){ a++; } main(){ int a=1; func(a); printf("%d",a); } void func(int a[]){ a[0]++; } main(){ int a[3]={1,2,3}; func(a); printf("%d",a[0]); } 이 둘의 코드를 보고 차이점을 명확하게 설명할 수 있는가? Yes라고 대답했다면 당신은 평소에 c언어에 대해 잘 이해하고 있다고 할 수 있다. 이 둘의 코드의 차이점은 함수의 매개변수가 call by value의 형태로 넘어가는지..

견우직녀달
행복한 블로그