절차적 프로그래밍

아래의 글은 패러다임을 개인적으로 공부한 후 정리한 내용입니다.혹시 틀린 부분이 있다면 댓글이나 이메일로 피드백해주시면 감사하겠습니다! 절차적 프로그래밍?절차적 프로그래밍, 영어로는 Procedural Programming이라고 한다.여기서 Procedural이란 일을 함에 있어서의 절차라고 해석하기보다는함수 또는 프로시져라고 해석하는게 맞다고 한다. 절차

패러다임을 공부해보자!

프로그래밍 패러다임그동안 몇가지 토이 프로젝트를 진행하면서 내가 프로젝트에 맞는 패러다임을 잘 따르고 있는지 의심이 들었다.Java가 객체 지향이라는 건 알고 있는데 거기에 맞춰서 개발을 하고 있는지,Javascript의 map이나 filter, reduce등을 사용하면서 함수형 프로그래밍은 알고 있는지, 그래서 프로그래밍 패러다임을 공부하고 넘어가야겠다는

최고의 집합

출처 = 프로그래머스문제자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습

ArrayList

ArrayListLinkedList에 이어서 ArrayList를 공부한다.ArrayList는 내부적으로 Array를 사용해서 만든 List 자료구조이다.Array의 크기를 자동으로 늘려주기때문에ArrayList는 Array처럼 고정된 크기를 신경쓰지 않아도 된다.또한 GENERIC을 사용해서 참조형 변수를 요소로 받고기본형 변수는 Autoboxing을 통해

H-Index

출처 = 프로그래머스문제어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고나머지 논문이 h번 이하 인용되었다면 h의 최댓값을 H-Index라고 할 때어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때,이 과학자의 H-Index를 구하라. 고민문제를 해결하는 건 어렵지 않았는데2중 반복을 피하

LinkedList - 2

1편에 이어서 linkedList를 공부한다이번엔 삭제와 iterator를 구현해보려고 한다.iterator는 linked list 내부적으로 훓는것이다.외부에서 for문을 사용하여 데이터를 꺼낼 수 있지만순차적 접근을 처음부터 해야하기 때문에 비효율적이다내부에서 index를 유지한채로 반복을 돌면 처음부터 다시 돌 필요가 없다. 구현[Doubly lin

LinkedList - 1

기초가 부족하단 생각에 자료구조부터 공부해보기로 했다스프링, 익스프레스, 마이바티스 등등 프레임워크를 공부하면 할수록기초가 중요하다는 생각이 들어 알고리즘, 자료구조등을 함께 공부하기로 했다.먼저 자료구조중에 LickedList를 먼저 공부하려고 한다. LinkedListLinkedList란 하나의 노드에 데이터를 담고 다음 노드의 주소를 가르키는 자료구조

다리를 지나는 트럭

출처 = 프로그래머스문제일차선인 다리에 트럭 여러대가 지나가는데 걸리는 총 시간을 구해라.단 다리에 올라간 트럭의 무게가 다리의 최대하중을 넘어선 안된다. 고민전에 풀었던 문제인데 코드를 다시보니 알아보기가 너무 힘들었다.그래서 최근에 다시 알아보기 쉽게 코드를 다시 짜보았다.트럭과 다리를 객체로 만들고 각각에 필요한 기능들을 메서드로 넣고나니훨씬 알아보기

수박수박수박수?

출처 = 프로그래머스문제길이 10,000이하인 자연수인 n을 받아서 n의 길이만큼 “수박”을 리턴해라ex) n = 3, answer = “수박수” 고민크기가 작은 수가 들어오면 반복 돌며 “수”,”박”을 더하면 되지만크기가 크면 클수록 연산 횟수가 많아지기 때문에 연산횟수를 줄여보기로 했다. 방법숫자가 짝수면 2로 나누고 나눈횟수를 더한다.홀수면 1을 빼고