분류 전체보기 33

Intellij에서 tool window bar에 commit 버튼 활성화하기

Intellij IDEA 2020.1 버전부터 toolbar에 commit 버튼이 나오도록 변경할 수 있게 되었다. 아마 기본값으로 설정이 되어있겠지만 보이지 않는 경우 설정에서 변경해 주면 된다. 아래 인터페이스는 기존의 commit 인터페이스로 모달 형식으로 나오게끔 되어있다. (단축키 : Ctrl + K) 설정 방법 1. Ctrl + Alt + S 또는 File > Settings 항목을 클릭한다. 2. Version Control > Commit에서 User non-modal commit interface를 체크해 준다. 체크 후 적용 버튼을 누르면 다음과 같이 commit 버튼이 보이는 것을 확인할 수 있다.

IDE 2022.10.06

c++ 숫자 -> 문자열 변환 함수

c++에서 숫자 타입의 값을 문자열로 변환할 때는 std의 to_string 함수를 사용하면된다. to_string 함수는 c++ 11 이상부터 사용이 가능하다. float 또는 double 유형의 경우 입력 값이 주어지면 기본값은 소수점 6 자리이다. std::string to_string( int value); std::string to_string( long value); std::string to_string( long long value); std::string to_string( unsigned value); std::string to_string( unsigned long value); std::string to_string( unsigned long long value); std::stri..

c++ 2022.10.06

백준 온라인 저지 1759번 암호 만들기

문제 출처 : https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이과정 문제의 입력범위가 작으므로 완전탐색 방법으로 해결할 수 있다. DFS로 가능한 모든 경우의 수를 만들고 검증 메소드를 사용해서 최소 한 개 이상의 모음과 최소 두 개 이상의 자음을 가진 문자열만 출력하도록 구현했다. 문제에서 알파벳이 암호에서 증가하는 순서로 배열된다고 했으므로 입력받은 알파벳을 사전 순으로 정렬 후 경우의 수를 만들면 별도로 순서를 검사할 필요가 없다. 소스코드..

Java 진법 변환 메소드

평소에 알고리즘 문제를 풀 때 진법 변환이 필요하면 직접 코드를 작성했었다. 자바에서 지원하는 메소드가 있지 않을까 검색해 봤고, 역시나 이미 존재하고 있었다. public static String toString(int i, int radix); // i : 는 문자열로 변환할 정수 // radix : 문자열 표현에 사용할 기수 String binary = Integer.toString(100, 2); // 10진수 100을 2진수로 변환하고 문자열로 반환

JAVA 2022.10.04

1110번 더하기 사이클

문제 출처 : https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 풀이 과정 1. 우선 값을 분리하는게 중요합니다. 먼저 입력받은 N을 10의 자리와 1의 자리로 분리하고 그 합을 구했습니다. 2. 합을 구한 후 분리한 1의 자리의 값과 구한 합의 1의 자리를 붙여 새로운 수를 만들었습니다. 3. 가장 처음 입력받은 N과 같아질 때 까지 반복하면 문제를 해결할 수 있습니다. 소스 코드 더보기 #include using namespac..

2292번 벌집

문제 출처 : https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌�� www.acmicpc.net 풀이 과정 규칙을 찾는 문제였습니다. 거리가 커질수록 갈 수 있는 방의 개수가 이전 거리에서 갈 수 있는 방의 개수에서 6의 배수로 증가합니다. (1개 -> 6개 -> 12개) 따라서 방의 개수를 증가시키면서 방의 총합계를 계산하여 입력받은 n이 범위 내에 들어올 경우 반복문을 종료하고 그 거리를 출력하도록 코드를 작성했습니다. 소스 코드 더보기 1 2 3 4 5 6 7 8 9 10 11..

2193번 이친수

문제 출처 : https://www.acmicpc.net/problem/2193 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net 풀이 과정 n= 1 -> 1 1개 n= 2 -> 10 1개 n= 3 -> 100, 101 2개 n= 4 -> 1000, 1001, 1010 3개 n= 5 -> 10000, 10001, 10010, 10100, 10101 5개 예시를 통해 피보나치 수열이 나옴을 알 수 있었습니다. 피보나치 수열의 점화식은 다음과 같습니다. Fn+2 = Fn+1 + Fn ( F0=0, F1=..

10828번 스택

문제 출처 : https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 � www.acmicpc.net 풀이 과정 자료구조중 하나인 스택을 구현하는 문제였습니다. 스택은 LIFO(Last In First Out)의 특성을 가지기 때문에 가장 나중에 삽입된 데이터가 가장 먼저 삭제되는 구조입니다. top이라는 변수를 인덱스로 사용하여 데이터를 삽입 또는 삭제가 가능하게 구현하였고, 스택의 배열 인덱스를 0부터 사용하기 위해서 초기 top변수의 값을 -1로 초기화 했..

4344번 평균은 넘겠지

문제 출처 : https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 � www.acmicpc.net 풀이 과정 각 테스트케이스마다 평균을 넘는 학생들의 비율을 구한 후 문제에서 요구한 출력 형식에 맞추면 되는 문제였습니다. 출력 형식은 cout의 조정자를 사용했습니다. setprecision : 정수부와 소수부를 합친 자릿수를 지정합니다. 예를 들어 123.454의 setprecision(5)는 123.45를 출력합니다. 또한 나머지 뒷부분은 반올림하여 나타내기 때문에 123.4..