반응형

전체 글 409

[백준 2675] 문자열 반복

안녕하세요. BlockDMask 입니다.오늘 문제는 170808 일자 채우기 문제 입니다.0. 문제BOJ 2675 문자열 반복백준 2675 문자열 반복1. 문제설명 문자열 s를 입력 받으면 각각의 문자를 r번 반복해서 새 문자열 t 를 만든 후 출력하는 프로그램을 만드시오. 3 ABC 이면 AAABBBCCC 를 출력하면 됩니다. 문자열 s 는 QR Code "alphanumeric" 문자인 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ$%*+_./: 입니다 첫번 째 줄엔 T(1

[Level 4] 숫자의 표현

안녕하세요. BlockDMask 입니다.오늘은 Level 4의 '숫자의 표현'을 풀어봤습니다.날이 점점 추워지네요.... 일교차도 크고;;감기 조심하세요;;0. 문제Programmers Level 4 숫자의 표현Programmers Level 4 expressions1. 문제설명연속된 자연수 합으로 어떤 숫자를 표현하는 방법이 여러가지 입니다.예를들어 자연수 15는 1+2+3+4+5 = 15 4+5+6 = 15 7+8 = 15 15 = 15 로 표현이 가능합니다.숫자를 입력받아 연속된 수로 표현할 수 있는 케이스의 개수를반환하는 expression 함수를 완성하면 됩니다.15가 들어오면 4를 반환하면 됩니다.2. 풀이과정총 두가지 방법으로 문제를 풀어보았습니다. 단순하게 생각해서 1)번 으로 풀었는데 시..

[Level 3] 멀리 뛰기 (jumpCase)

안녕하세요 BlockDMask 입니다.오늘은 Level 3 멀리뛰기 를 풀어봤습니다.let's get it0. 제목Programmers Level 3 멀리 뛰기Programmers Level 3 JumpCase1. 문제설명멀리뛰기를 연습하는 학생이 있는데한번에 1칸 또는 2칸을 뛸수 있습니다.예를 들어 칸이 4개 있을때. 1칸 1칸 1칸 1칸 1칸 2칸 1칸 2칸 1칸 1칸 1칸 1칸 2칸 2칸 2칸 으로 갈 수 있다.총 5가지 방법.이런식으로 칸의 수 n 이 주어질 때.끝에 도달하는 방법이 몇가지 인지 출력하는 jumpcase 함수를 완성하시오.2. 풀이과정딱 문제를 보자마자DP (Dynamic Programming) 가 생각 났습니다.작은것에서 큰것으로 가는 bottom up 방식으로 풀면 됩니다. ..

[Level 3] 시저 암호 (caesar)

안녕하세요 BlockDMask 입니다.오늘은 Level 3에 있는 시저 암호 라는 문제를 풀어보았습니다.빨리 level 3 풀고 4, 5, 6, ~~~ 쭉쭉 넘어가고 싶네요.0. 문제Programmers Level 3 시저 암호Programmers Level 3 Caesar Code1. 문제설명어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라 한다.a를 4만큼 밀면 e가 되고Z를 2만큼 밀면 A가 된다.입력이 문자열이 들어오고, 공백은 수정하지 않는다.시저암호로 변경된 문자열을 출력하면 됩니다.2. 풀이과정string으로 들어오는 문자열을 const char * 타입의 char 배열로 만들어서 다룰 생각을 했습니다.그 다음 알파벳을 n 만큼 더하여서 출력을..

[백준 1912] 연속합 (수열)

안녕하세요. BlockDMask 입니다.상큼하게 월요일 문제 풀어봤습니다.0. 문제백준 1912 연속합BOJ 1912 연속합1. 문제설명 N개의 수열이 주어집니다. 이중 연속된 몇개의 숫자를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 합니다. 선택할 수는 적어도 하나 이상 이어야합니다. N의 범위는 (1

[데통] OSI 7계층, Network의 구조, NIC

1. Network의 구조 통신 네트워크(Communication Network)란 떨어져 있는 두 개 이상의 단말(컴퓨터, node)간에 통신(데이터의 주고받음)을 위하여 연결해 주는 장비(Link)와 연결 매체 그리고 이것을 제어하는 통신규약(프로토콜, protocol)을 말한다. 네트워크의 물리적인 구조 - 단말(Node)과 그 단말을 이어주는 연결선로(Link)로 이루어져있다. - 단말(Node)는 최종장비(End node, Station)과 중계장비(Interconnecting node)로 이루어진다. - 최종장비(End node, Station)은 그 환경에 따라 terminal 이나 host를 말한다. - 중계장비(Interconnecting node)는 특성에 따라 Repeater, Hub..

[백준 10845] 큐 (C, C++ Queue)

안녕하세요.BlockDMask 입니다.오늘은 영국에 온지 이틀째 되는날입니다. 제가 원하는 데로 저는 영국 런던 리젠트 공원 벤치에 앉아서 문제를 풀어보았습니다.확실히 집중이 안되서; 쉬운 자료구조 문제를 풀어봤습니다.0. 제목백준 10845 큐BOJ 10845 큐1. 문제설명 큐를 구현하고각 명령어에 맞게 출력하는 문제입니다. push X : 정수 X를 큐에 삽입pop : 큐의 앞에 있는 정수를 없애고, 그 수를 출력합니다. 없는 경우 -1 출력.size : 큐에 들어있는 원소의 개수 출력.empty : 큐가 비어있으면 1, 그렇지 않으면 0 을 출력.front : 큐의 가장 앞에있는 원소 출력, 원소가 없는 경우에는 -1 출력.back : 큐의 가장 뒤에있는 원소 출력, 원소가 없는 경우에는 -1 출..

[백준 2747] 피보나치 수

안녕하세요. BlockDMask 입니다.0. 제목백준 2747 피보나치 수BOJ 2747 피보나치 수 1. 문제설명 피보나치의 수 n=0 일때 0n=1 일때 1이다. 피보나치의 수를 11개 까지 나열해 보면0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 이때 45보다 적은 정수 NUM이 들어오면n 이 NUM 일때 피보나치 수를 구하여라. 2. 풀이과정 recursive function(재귀함수)로 구현을 했는데역시 시간초과가 나서 iterative (반복문)을 이용하여 피보나치 수를 구현했습니다. 처음에는 반복문으로 구현한 피보나치 함수에서 변수를 여러개 선언해서 구현을 했는데코드가 지저분해 보여서 int 형 배열을 선언해서 구했습니다. 여러개의 변수를 이용하여 구현한 반복문 기반 피보나..

[백준 2108] 통계학 (최빈값, 산술평균, 중앙값, 범위)

안녕하세요. BlockDMask 입니다. 오늘의 문제는 STL에 vector 를 이용해서 풀었습니다. vector에 pair 클래스도 넣고 풀어봤으니, vector 예제 느낌으로 봐주셔도 좋을 듯 합니다. 또한, sort 알고리즘을 사용할때 조건자를 줘서 기준을 바꿔 sort 하는 것도 나옵니다. sort(st.begin(), st.end(), comp) 도 유심히 봐주시면 좋을 듯 합니다.0. 제목백준 2108 통계학BOJ 2108 통계학1. 문제설명 n이 홀수일때 산술평균, 중앙값, 최빈값, 범위 를 구하여 각각 한 줄씩 출력하라. n개의 숫자들의 합을 n으로 나눈값을 말한다. (소숫점 이하 첫째자리에서 반올림한다.) n개의 숫자들을 증가하는 순서대로 정렬했을때, 중앙에 위치하는 값을 말한다. n개의..

[C언어/C++] 올림, 내림, 반올림 (floor, ceil) 함수

안녕하세요 BlockDMask 입니다. 오늘은 올림, 내림 을 할수있는 ceil, floor 함수에 대해서 알아보고. floor 함수를 통해서 반올림을 하는 것 까지 보도록 하겠습니다. C의 함수들이 C++에 호환이 되어서 C에서 쓸때와 C++에서 쓸때의 차이점은 헤더파일, 메서드 오버로딩 (메서드, 함수 이름이 같아도 인자가 다르면 선언이 되는것) 이 있습니다. 오버로딩은 C++에서만 지원합니다. 글 순서는 헤더파일 소개 -> 함수(메소드)가 선언된 원형과 사용법 -> 실제 예시 -> + 알파 순으로 가겠습니다. 그럼 시작하겠습니다. (C++ 반올림(round)함수 포스팅 [바로가기]) (C++ 버림(trunc)함수 포스팅 [바로가기]) 0. 헤더파일(header) [C 언어] : [C++] : 1. ..

[맥OS] 맥북 유용한 단축키 모음

안녕하세요. BlockDMask 입니다.아무튼 오늘은 Mac 단축키에 대해 정리 해보려 합니다.실제 제가 사용하는 단축키 입니다다음 포스트는 "트랙패드 편하게 쓰기" 편을 포스팅 해보겠습니다. [맥북 단축키 정리](Mac Shortcut key)서버 접속 (Connect to Server) Command + K유틸리티 폴더 (Utilities) Command + Shift + U 폴더경로로 바로가기 (Go to Folder) Command + Shift + G홈 폴더 열기 Command + Shift + H데스크톱 (Desktop) = 바탕화면 Command + Shift + D프로세스 종료 command + W프로그램 종료 command + Q새 탭 command + T파일 폴더 지우기 선택 후 => ..

[CodeGround] 하노이 타워(Hanoi Tower)

안녕하세요. BlockDMask 입니다.오늘은 codeground 두번째 문제 '하노이 타워'를 풀어보았습니다.0. 제목코드그라운드 하노이 타워CodeGround Hanoi tower1. 문제설명세개의 타워가 있고첫번째 타워에 서로 다른 접시 N개가 쌓여있습니다. 첫번째 타워에 놓여있는 모든 접시를 세번째 타워로 옮기고자 할때, 접시를 옮기는 순서를 출력하라.접시는 한 번에 하나만 옮길 수 있고, 한 타워의 맨 위 접시를 다른 타워의 맨 꼭대기에 올릴 수 있다.큰접시 위에 작은접시가 올라가야만 한다. (작은 접시위에 큰접시 올라오는것 불가능)2. 풀이과정알고리즘 수업을 들었던 사람은 재귀 함수 파트에서 꼭 한번은 배웠던 하노이 타워(Hanoi Tower) 문제입니다.유명한 만큼 설명은 생략하겠습니다. 3..

삽입정렬 (Insertion Sort) 이론과 코드

안녕하세요. BlockDMask 입니다. 오늘은 간단한 정렬 알고리즘 중에 삽입 정렬 (Insertion Sort) 에 대해서 알아보겠습니다. 이상한 곳이 있으면, 댓글로 말해주시기 바라겠습니다.댓글을 보고 고치도록하겠습니다. 따끔한 지적 부탁드리겠습니다. 0. 원리Insertion Sort 는 말 그대로 '삽입' 꽂아 넣는 정렬입니다. 자신보다 앞의 원소가 큰지 작은지 비교를 하여서 자신의 위치를 찾아서 '삽입' 하는 정렬입니다. 앞의 원소를 비교해야 하기 때문에 arr[1]~arr[n] 까지 진행합니다. (두번째 원소인 arr[1] 부터 시작.) 삽입을 하면 데이터가 하나씩 밀려야 하기 때문에 배열이 길어질수록 효율이 떨어집니다. 그림을 통해서 과정을 살펴 보겠습니다. (오름차순을 기본으로 하겠습니다..

반응형