본문 바로가기

반응형

IT

(235)
섹션 3. Two pointers, Sliding window[효율성 : O(n^2)-->O(n)] 1. 두 배열 합치기 문제 오름차순으로 정렬이 된 두 배열이 주어지면 두 배열을 오름차순으로 합쳐 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 첫 번째 배열의 크기 N(1
[인프런]스프링 핵심원리 기본편_좋은 객체 지향 프로그램이란? 객체 지향 특징 추상화 : 공통의 속성이나 기능을 묶어 이름을 붙이는 것으로, 객체 지향 관점에서 클래스를 정의하는 것을 말한다. 캡슐화 : 객체가 맡은 역할을 수행하기 위한 하나의 목적을 묶는 것으로, 특정 기능을 위한 함수를 작성하는 것을 말한다. 상속성 : 상위 개념의 특징을 하위 개념이 물려받는 것이다. 다형성 : 객체 지향에서 가장 핵심적인 부분으로, 오버라이딩을 예시로 들 수 있다. 객체 지향 프로그래밍이란 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위인 "객체"들의 모임 으로 파악하려 하는 것 이다. 각각의 객체는 메시지를 주고받고 데이터를 처리할 수 있다. 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. (= 다형..
섹션 2. Array(1, 2차원 배열)_12. 멘토링 문제 현수네 반 선생님은 반 학생들의 수학점수를 향상시키기 위해 멘토링 시스템을 만들려고 합니다. 멘토링은 멘토(도와주는 학생)와 멘티(도움을 받는 학생)가 한 짝이 되어 멘토가 멘티의 수학공부를 도와주는 것입니다. 선생님은 M번의 수학테스트 등수를 가지고 멘토와 멘티를 정합니다. 만약 A학생이 멘토이고, B학생이 멘티가 되는 짝이 되었다면, A학생은 M번의 수학테스트에서 모두 B학생보다 등수가 앞서야 합니다. M번의 수학성적이 주어지면 멘토와 멘티가 되는 짝을 만들 수 있는 경우가 총 몇 가지 인지 출력하는 프로그램을 작성하세요. 입력 첫 번째 줄에 반 학생 수 N(1
섹션 2. Array(1, 2차원 배열)_11. 임시반장 정하기 문제 김갑동 선생님은 올해 6학년 1반 담임을 맡게 되었다. 김갑동 선생님은 우선 임시로 반장을 정하고 학생들이 서로 친숙해진 후에 정식으로 선거를 통해 반장을 선출하려고 한다. 그는 자기반 학생 중에서 1학년부터 5학년까지 지내오면서 한번이라도 같은 반이었던 사람이 가장 많은 학생을 임시 반장으로 정하려 한다. 그래서 김갑동 선생님은 각 학생들이 1학년부터 5학년까지 몇 반에 속했었는지를 나타내는 표를 만들었다. 예를 들어 학생 수가 5명일 때의 표를 살펴보자. 위 경우에 4번 학생을 보면 3번 학생과 2학년 때 같은 반이었고, 3번 학생 및 5번 학생과 3학년 때 같은 반이었으며, 2번 학생과는 4학년 때 같은 반이었음을 알 수 있다. 그러므로 이 학급에서 4번 학생과 한번이라도 같은 반이었던 사람은..
섹션 2. Array(1, 2차원 배열)_10. 봉우리 문제 지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다. 각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요. 격자의 가장자리는 0으로 초기화 되었다고 가정한다. 만약 N=5 이고, 격자판의 숫자가 다음과 같다면 봉우리의 개수는 10개입니다. 입력 첫 줄에 자연수 N이 주어진다.(2 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비(김태원)강의를 참고하여 작성하였습니다.
섹션 2. Array(1, 2차원 배열)_9. 격자판 최대합 문제 5*5 격자판에 아래와 같이 숫자가 적혀있습니다. N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다. 입력 첫 줄에 자연수 N이 주어진다.(2
섹션 2. Array(1, 2차원 배열)_8. 등수 구하기 문제 N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요. 같은 점수가 입력될 경우 높은 등수로 동일 처리한다. 즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다. 입력 첫 줄에 N(3
[인프런]스프링 핵심원리 기본편_스프링이란? 스프링이란 스프링이란 여러 기술들의 모음을 말한다. 여기서 여러 기술들이란 필수적인 기술과 선택적인 기술로 나뉘는데, 몇개의 예시를 가져오자면 다음과 같다. 필수 : 스프링 프레임워크, 스프링 부트 선택 : 스프링 데이터, 스프링 세션, 스프링 시큐리티, 스프링 Rest Docs, 스프링 배치, 스프링 클라우드 이에 대해 간략하게 정리했다. 스프링 데이터 : CRUD를 좀 더 편하게 할 수 있도록 도와주는 것이다. ex) spring Data JPA 스프링 세션 : 세션 기능을 더 편하게 쓸 수 있도록 도와주는 것이다. 스프링 시큐리티 : 보안과 관련된 기술이다. 스프링 Rest Docs : API 문서화를 편리하게 해 주는 것이다. 스프링 배치 : 배치 처리에 특화된 기술이다. (배치 처리란, 데이터가..