본문 바로가기

CODING27

백준 C언어 7568번 덩치 : for문을 이용하면 쉽게 풀리는 문제 사람 : A 몸무게 : x kg 키 : y cm 사람 : B 몸무게 : p kg 키 : q cm xp && y 정할 수 없다 N을 입력 받아서 N명의 키랑 몸무게를 입력하고, 순위를 출력하는 프로그램을 작성하라 순위 = 자신보다 덩치가 큰 사람 수 + 1 scanf가 똑바로 작동을 안해서 맨 위에 define을 이용하여 scanf가 똑바로 돌아가도록 만들어줬다. cnt는 처음에 초기화하지 않으면 이상한 수부터 시작해서 하나씩 더해가기 때문에 원하는 답이 나오지 않는다. 그렇기 때문에 한번에 초기화를 해주는 것이 중요하다. 마지막에 순위는 cnt[i]만 출력할게 아니라 반드시 1을 더해서 출력해야 한다.! 등수니까 (나에게 하는 얘기) 2022. 3. 29.
알고리즘1 : time complexity, basic operation 학교 수업으로 알고리즘을 수강하게 되었다. 영어로 강의를 하셔서, 나름대로 정리를 해보고자 글을 쓴다. 알고리즘을 배우는 목표 다음과 같다. CS(Computer Science)문제를 직면했을 때 우리는 알고리즘을 설계하게 된다. 하나의 문제에 대한 알고리즘은 복수개가 될 수 있다. 그런데, 여기서 우리는 효율성에 집중하여 어떤 알고리즘이 더 좋은 선택인지를 고민해간다. 알고리즘 효율성 선택에 대해 고민할 때 우리는 세가지 사고를 할 수 있다. 과학(=수학)적 사고 논리적 사고 체계적 사고 이렇게 세가지 사고를 거쳐나가는 올바른 생각 습관을 지녀 효율적인 알고리즘을 선택해 나간다. CS 문제 하나가 주어졌다고 가정해보자. 이 문제는 답을 원하는 문제로 모델을 정해 해답을 얻어야 할 것이다. 이 해답이라는.. 2022. 3. 28.
자료구조 : 스택/큐 개념, 종류, 구현 이제 본격적으로 자료구조를 하나씩 알아보자! 스택 여기 약간 내가 하고싶은 말이 다 들어있다. 스택은 일종의 자료를 저장하는 구조인데 저장하는 공간이 바구니처럼 생겼다. 데이터를 넣으면 아래쪽부터 쌓이는데 꺼낼때는 위에서부터 꺼낼 수 있는 그런 구조 후입선출(LIFO) 구조이다. push는 데이터를 넣는 작업 pop은 데이터를 꺼내오는 작업이다. 사진 속에서는 push(1) -> push(2) -> push(3) -> pop() 이런 작업을 거친다. 굳이 pop을 할때는 pop(3)이라 할 필요가 없는게 무조건 맨 위에것만 꺼내올 수 있기 때문이다. top은 데이터가 있는 가장 위에 위치를 나타내는데 pop작업을 거친 뒤 top은 2가 있는 위치겠다. 배열로 스택을 구현하면 저렇게 구현이 되는데,,! t.. 2022. 1. 21.
백준 C언어 문제 풀이 : 1085, 2609, 10039, 10870, 2576, 2480 1085 x, y, w, h를 받아서 x,y에서 직사각형의 경계선으로 가는 거리의 최소값을 구하는 프로그램을 작성해야 한다. 일단 x, y, w, h를 순서대로 받았다. 그리고 내가 문제를 푼 방식은 x와 w-x 중에 작은 수를 x로 설정(1), y와 h-y 중에 작은 수를 y로 설정(2), x, y중에 작은 수(3)를 출력 이런식으로 진행했다. 어차피 1, 2의 과정에서 더 큰수는 최솟값이 될 수 없기 때문에 일단 한번 걸러줬고 1, 2 과정에서 작은 수여서 x, y로 설정된 수 중 비교하면 최솟값을 얻어낼 수 있다. x, y, w, h가 모두 양수이고 x, y는 직사각형 안에서 움직이는 수들이기 때문에 음수 고려를 할 필요가 없어서 편했다. 2609 두 자연수를 입력받아 최대공약수, 최소공배수를 출력.. 2022. 1. 20.