728x90

분류 전체보기 260

[프로그래머스 - C++] 경주로 건설

https://programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 풀이 BFS와 DP를 사용하여 구현해 주었습니다. 각각의 위치에 도달할 때 이전 방향이..

[프로그래머스 - C++] 후보키

https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 풀이 저는 재귀함수를 이용해서 브루트포스 방식으로 각각의 조합을 직접 생성해서 문제를 해결하였습니다. 후보키 생성에 있어서는 크기가 1인 후보키부터 relation의 속성 값 수 크기까지 작은 개수로 이루어진 것 부터 생성합니다. 이때 재귀..

[프로그래머스 - C++] 숫자 게임

https://programmers.co.kr/learn/courses/30/lessons/12987 코딩테스트 연습 - 숫자 게임 xx 회사의 2xN명의 사원들은 N명씩 두 팀으로 나눠 숫자 게임을 하려고 합니다. 두 개의 팀을 각각 A팀과 B팀이라고 하겠습니다. 숫자 게임의 규칙은 다음과 같습니다. 먼저 모든 사원이 무작위로 programmers.co.kr 풀이 브루트포스로 전부 비교했더니 효율성에서 문제가 생겼다. 그래서 우선 A와 B를 모두 오름차순 정렬하고 차례로 비교해가는 방식으로 문제를 해결하였다. #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; //정렬 sort(..

[프로그래머스 - C++] 영어 끝말잇기

https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 풀이 이 문제는 끝말잇기의 룰대로 확인만 해주면 되는 간단한 문제이다. 따라서 이미 ..

[프로그래머스 - C++] 거리두기 확인하기

https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 풀이 이 문제는 대기실이 5개이며 각각 대기실의 크기가 5*5로 매우 작기 때문에 모두 확..

[프로그래머스 - C++] 풍선 터트리기

https://programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 풀이 이 문제는 a의 크기가 1,000,000 이하이기 때문에 시간초과에 유의해야 하는 문제입니다. "왼쪽, 오른쪽 모두에 자신보다 작은 값이 존재하는 경우 절대 남길 수 없다." 라는 규칙이 있습니다. (사실 몰라서 질문게시판에서 힌트 얻음) 따라서 저는 위와 같이 3개의 for문을 사용해 문제를 해결하였습니다. 자세한 내용은 주석을 참고하세용 #include #include #include using namespace std; int solution(vector a..

[프로그래머스 - C++, Java] 예상 대진표

https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr 풀이 백준에도 이 문제랑 동일한 문제가 있습니당.. (1,2)는 다음 라운드에서 1이, (3, 4)는 다음 라운드에서 2가 되는데요. 여기서 규칙이 하나 나옵니다. 다음 라운드에 배정되는 숫자 = (현재 숫자 + 1) / 2 따라서 이 규칙을 이용해 다음 라운드에 배정되는 수가 서로 동일해질 때까지 반복하고 동일해질 때 까지 몇번을 반복..

[Java 기초 문법] 입력 및 Scanner 클래스

java.util 패키지의 Scanner 클래스를 이용하여 콘솔 입력을 받는 방법은 java의 다양한 입력 방법들 중 가장 많이 사용되는 방식입니다. c언어의 scanf(), c++의 cin, python의 input()과 비슷하다고 생각하시면 됩니다. Scanner 클래스를 사용하기 위해선? Scanner 클래스는 바로 사용할 수 있는 것이 아닙니다. Scanner에 오류가 왜 뜨는 걸까요? Scanner는 외부 패키지인 java.util에 포함되어있기 때문에 사용하기 위해서는 이를 import해주어야 사용이 가능합니다. import java.util.Scanner; 이걸 써주니 더 이상 오류가 뜨지 않습니다. 입력 메소드의 사용 Scanner라는 클래스 안에 있는 메소드를 사용합니다. ex)next(..

[Java 기초 문법] 출력문(println, print, printf) 및 자료형

프로그래밍에 있어서 출력문을 출력해봐야만 내가 코드를 잘 짠게 맞는지 확인해 볼 수 있다고 생각하는데요. 그래서 java에서는 이러한 출력문을 어떤 방식으로 출력하는지에 대해서 먼저 다뤄보려고 합니다. 1. println() println()의 경우엔 괄호안의 값을 그대로 출력하고 마지막에 줄바꿈을 넣어주는 메소드입니다. System.out.println(); 위의 코드를 이용해서 출력하는데요. 평소 c++을 사용해 온 저는 저 앞에 System.out. 이 부분이 붙는게 몹시 어색하고 불편하더라구요. 매번 저 긴 걸 입력해야 하나...? 하는 생각이 들던 차에 이클립스는 자동 완성 기능을 제공한다는것을 알게 되었습니다. !!!) 이클립스의 자동완성 기능을 통해서 'syso'라고 입력하고 'ctrl+sp..

728x90
반응형