본문 바로가기
728x90

분류 전체보기230

BOJ(C++) / 백준 2252 : 줄 세우기 백준 2252 : 줄 세우기 https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 문제 N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다. 일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는.. 2021. 11. 16.
BOJ(C++) / 백준 2960 : 에라토스테네스의 체 백준 2960 : 에라토스테네스의 체 https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 문제 에라토스테네스의 체는 N보다 작거나 같은 모든 소수를 찾는 유명한 알고리즘이다. 이 알고리즘은 다음과 같다. 2부터 N까지 모든 정수를 적는다. 아직 지우지 않은 수 중 가장 작은 수를 찾는다. 이것을 P라고 하고, 이 수는 소수이다. P를 지우고, 아직 지우지 않은 P의 배수를 크기 순서대로 지운다. 아직 모든 수를 지우지 않았다면, 다시 2번 단계로 간다. N, K가 주어졌을 때, K번째 지우는 수를 구하는 프로그램을 작성하시오. 입력 첫.. 2021. 11. 11.
BOJ(C++) / 백준 20210 : 파일 탐색기 백준 20210 : 파일 탐색기 https://www.acmicpc.net/problem/20210 20210번: 파일 탐색기 첫 줄에 문자열의 개수 N(2 ≤ N ≤ 10,000)이 주어진다. 그 다음 N줄에 정렬할 문자열이 한 줄에 하나씩 주어진다. 모든 문자열의 길이는 100 이하이며, 알파벳 대소문자와 숫자로만 이루어져 있다. www.acmicpc.net 문제 Windows의 파일 탐색기를 보면 파일이 정렬된 방식이 보통의 정렬 방식과는 다른 것을 알 수 있다. 보통 문자열을 정렬할 때는 맨 앞부터 한 글자씩 비교하다가 어느 한쪽이 끝나거나 일치하지 않는 글자가 있으면 그 위치의 문자를 비교한 결과가 문자열 전체를 비교한 결과가 된다. 한편 파일 탐색기는 여러 자리의 수를 한 글자로 취급해서 비교.. 2021. 11. 7.
BOJ(C++) / 백준 17609 : 회문 백준 17609 : 회문 https://www.acmicpc.net/problem/17609 17609번: 회문 각 문자열이 회문인지, 유사 회문인지, 둘 모두 해당되지 않는지를 판단하여 회문이면 0, 유사 회문이면 1, 둘 모두 아니면 2를 순서대로 한 줄에 하나씩 출력한다. www.acmicpc.net 문제 회문(回文) 또는 팰린드롬(palindrome)은 앞 뒤 방향으로 볼 때 같은 순서의 문자로 구성된 문자열을 말한다. 예를 들어 ‘abba’ ‘kayak’, ‘reviver’, ‘madam’은 모두 회문이다. 만일 그 자체는 회문이 아니지만 한 문자를 삭제하여 회문으로 만들 수 있는 문자열이라면 우리는 이런 문자열을 “유사회문”(pseudo palindrome)이라고 부른다. 예를 들어 ‘summ.. 2021. 11. 5.
알고리즘(C++) / 프로그래머스 level 3 : 스티커 모으기(2) 프로그래머스 level 3 : 스티커 모으기(2) https://programmers.co.kr/learn/courses/30/lessons/12971 코딩테스트 연습 - 스티커 모으기(2) N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 programmers.co.kr 코드 #include #include #include using namespace std; int dp1[100001] = {0,}; //첫번째 스티커 포함 int dp2[100001] = {0,}; //첫버째 스티커 미포함 int solution(vector sticker) { int answe.. 2021. 11. 4.
BOJ(C++) / 백준 20154 : 이 구역의 승자는 누구야?! 백준 20154 : 이 구역의 승자는 누구야?! https://www.acmicpc.net/problem/20154 20154번: 이 구역의 승자는 누구야?! 첫째 줄에 알파벳 대문자로만 이루어진 길이 K(1 ≤ K ≤ 1,000,000)인 문자열 S가 주어진다. www.acmicpc.net 문제 가톨릭대학교에 다니는 컴퓨터정보공학부 황톨릭은 코로나 때문에 슬퍼하는 친구들을 위해 게임을 하나 만들었다. 게임이 시작되면 알파벳 대문자로만 이루어진 문자열이 주어진다. 문자열이 주어지면 각 문자의 획수로 문자를 변환한다. 획수들을 갖고 앞에서부터 두 개씩 더해가는데 만약 짝이 지어지지 않는다면 그대로 다음 단계로 내려간다. 다음 단계부터는 이전 단계에서 두 개씩 더해가며 생성된 숫자들을 가지고 같은 과정을 반.. 2021. 11. 4.
BOJ(C++) / 백준 10942 : 팰린드롬? 백준 10942 : 팰린드롬? https://www.acmicpc.net/problem/10942 10942번: 팰린드롬? 총 M개의 줄에 걸쳐 홍준이의 질문에 대한 명우의 답을 입력으로 주어진 순서에 따라서 출력한다. 팰린드롬인 경우에는 1, 아닌 경우에는 0을 출력한다. www.acmicpc.net 문제 명우는 홍준이와 함께 팰린드롬 놀이를 해보려고 한다. 먼저, 홍준이는 자연수 N개를 칠판에 적는다. 그 다음, 명우에게 질문을 총 M번 한다. 각 질문은 두 정수 S와 E(1 ≤ S ≤ E ≤ N)로 나타낼 수 있으며, S번째 수부터 E번째 까지 수가 팰린드롬을 이루는지를 물어보며, 명우는 각 질문에 대해 팰린드롬이다 또는 아니다를 말해야 한다. 예를 들어, 홍준이가 칠판에 적은 수가 1, 2, 1,.. 2021. 11. 2.
2021 넷마블컴퍼니 신입공채 넷마블테스트 후기 2021 넷마블 컴퍼니 신입 공채 넷마블 테스트 후기 바로 어제 10월 31일 용산고등학교로 넷마블 테스트를 보러 갔다. 넷마블은 서류 + 코딩 테스트 → (인성검사) → 넷마블 테스트 → 1차 면접 → 2차 면접 순으로 진행된다. 코딩 테스트에 합격할지 전혀 몰랐던 나는 아무런 준비도 못했다...ㅎㅎㅎ 코딩 테스트는 총 9문제가 나왔었다. 나는 7문제 풀었는데 정답인지는 모르고 푼 문제가 7문제이다. 오픈 채팅방의 여론으로는 7솔이 합격 커트라인인 거 같은데 7문제가 다 맞았나? 약간 의문이긴 한데 다 맞았나 보다~ 붙을 일이 1도 없지만 그래도 다음번을 대비해서 문제라도 보자 하면서 시험을 보러 갔다. (9시까지 도착해야 했어서 7시에는 일어났는데 진짜 일어나기 직전까지 가지 말까 하며 100번은 고.. 2021. 11. 1.
BOJ(C++) / 백준 12101 : 1, 2, 3 더하기 2 백준 12101 : 1, 2, 3 더하기 2 https://www.acmicpc.net/problem/12101 12101번: 1, 2, 3 더하기 2 n을 1, 2, 3의 합으로 나타내는 방법 중에서 사전 순으로 k번째에 오는 것을 출력한다. k번째 오는 식이 없는 경우에는 -1을 출력한다. www.acmicpc.net 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 이를 사전순으로 정렬하면 다음과 같이 된다. 1+1+1+1 1+1+2 1+2+1 1+3 2+1+1 2+2 3+1 정수 n과 k가 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법 중에서 k.. 2021. 11. 1.
BOJ(C++) / 백준 11053 : 가장 긴 증가하는 부분 수열 백준 11053 : 가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이.. 2021. 10. 30.
CS(computer science) / CS공부하기 CS 공부하기 나 오늘부터 CS 공부한다.(진지)🤔😆😃 코딩 테스트 열심히 준비하고 공부했더니 이제 cs공부랑 면접 준비를 해야 한다... 난 취준 말고 개발이 하고 싶은데.. 컴퓨터공학과 4년 다니면서 CS(알고리즘, 컴퓨터 구조, 컴퓨터 네트워크, 운영체제 등)를 배웠지만 사실 과제하느라 바쁘고 몇 년 지나다 보니까 사실 잘 기억이 나지 않는다. 그래서! 오늘부터 다시 천천히 복습하는 마음으로 공부를 할 예정이다. CS 관련된 강의도 많지만 나는 돈이 없으므로 독학하려 한다. 한 번 배웠는데 독학으로 충분히 가능하지 않을까? 다음과 같은 블로그를 참고하여 공부할 예정이고, 그날그날 배운건 블로그에 쓰기로 한다. https://garden1500.tistory.com/11 IT 기술면접 이건 꼭 알고 .. 2021. 10. 29.
BOJ(C++) / 백준 15881 : Pen Pineapple Apple Pen 백준 15881 : Pen Pineapple Apple Pen https://www.acmicpc.net/problem/15881 15881번: Pen Pineapple Apple Pen 여러 개의 사과, 파인애플, 그리고 펜이 일렬로 세워져 있다. 이 물건들의 순서를 바꾸지 않고 옆에 있는 물건끼리 연결했을 때, 펜-파인애플-애플-펜을 몇 개나 만들 수 있을지 세어보자. 단, 펜, www.acmicpc.net 문제 여러 개의 사과, 파인애플, 그리고 펜이 일렬로 세워져 있다. 이 물건들의 순서를 바꾸지 않고 옆에 있는 물건끼리 연결했을 때, 펜-파인애플-애플-펜을 몇 개나 만들 수 있을지 세어보자. 단, 펜, 파인애플, 사과, 펜 순서로 연결된 네 개의 물건만을 펜-파인애플-애플-펜으로 인정하며, 하나.. 2021. 10. 29.