Algorithm
-
SW 문제해결 응용 - 구현 - 백트래킹Algorithm/SWEA Learn 2023. 4. 11. 09:43
하루입니다. https://swexpertacademy.com/main/learn/course/subjectDetail.do?courseId=AVuPDYSqAAbw5UW6&subjectId=AV3Fvw66AAYBBARB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 백트래킹 개념을 이해하고 최적화 문제와 결정 문제에 적용하는 방법을 설명할 수 있다. 2. 백트래킹으로 상태 공간 트리를 탐색하는 방법에 대해 설명할 수 있다. 3. 모든 부분 집합과 모든 순열을 백트래킹으로 생성할 수 있다. 1. 백트래킹 2. 부분 집합 3. 순열 4. 동전 거스름돈 문제 1. 백트래킹 2. 부분 집합 1. 소개 3. 순열..
-
[Algorithm] 백준/Bronze/3052. 나머지Algorithm/문제 풀이 2023. 4. 9. 01:51
하루입니다. https://www.acmicpc.net/problem/3052 3052번: 나머지 각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다. www.acmicpc.net 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 즉, 서로 다른 나머지 개수를 구하는 문제이다. 가장 처음 든 생각은 idx 42까지 가진 배열을 만들고, 나머지에 해당하는 칸이 비었다면 1씩 추가하는 그런 방법을 ..
-
[Algorithm] Softeer/L1/근무 시간Algorithm/문제 풀이 2023. 4. 8. 23:27
하루입니다. https://softeer.ai/practice/info.do?idx=1&eid=990 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai Softeer라는 코테 플랫폼이 있다는 걸 알고 한 번 풀어봤다. 참고로 Softeer는 현대자동차그룹에서 만든 SW 플랫폼임. C나 모빌리티에 관심 있는 사람이 있다면 참고하면 좋을 듯. 출력형식 첫 번째 줄에 직원의 총 근무 시간을 분 단위로 출력한다. 입력예제1 10:00 19:00 09:00 15:00 10:00 11:00 11:00 22:00 09:00 15:00 출력예제1 1980 월요일에 9시간, 화요일에 6시간, 수요일에 1시간, 목요일에 11시간, 금요일에 6시간을 근무하였다. 총 근무 시간은 9 + 6 ..
-
[Algorithm] 백준/Bronze/2798. 블랙잭Algorithm/문제 풀이 2023. 4. 7. 12:14
하루입니다. https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 블랙잭 ^^ ... 백준의 단계별 문제 중 브루트포스 첫번째에 있는 문제이다. 목표 : n장의 카드가 주어질 때, m과 가장 가까운 카드 3장의 합을 구해 출력하자. 세 가지 방법으로 풀 것이다! 1. while + BufferedReader 2. 삼중 for문 + BufferedReader 3. 2번의 방식인데 조금이라도 시간복잡도 줄이기 먼저 아래는..
-
[Algorithm] 백준/Bronze/2908. 상수Algorithm/문제 풀이 2023. 4. 7. 10:29
하루입니다. https://www.acmicpc.net/problem/2908 2908번: 상수 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 www.acmicpc.net 문제 자체는 어렵지 않다. 세자리 정수가 주어질 때, 1. 정수를 뒤집고 2. 큰 값을 찾아서 3. 출력하면 된다. 내가 푼 방식 내가 젤 조와하는 방식인 몫과 나머지를 사용햇다. 각 자리의 숫자를 구하고 거꾸로 100 10 0을 곱하는 방식을 사용했다. 숫자 두 개만 나와서 Math.max() 함수를 사용했다. import java.io.*; import java.math.*; public cl..
-
[Algorithm] 백준/Bronze/2675. 문자열 반복 (getBytes())Algorithm/문제 풀이 2023. 4. 7. 10:16
하루입니다. https://www.acmicpc.net/problem/2675 2675번: 문자열 반복 문자열 S를 입력받은 후에, 각 문자를 R번 반복해 새 문자열 P를 만든 후 출력하는 프로그램을 작성하시오. 즉, 첫 번째 문자를 R번 반복하고, 두 번째 문자를 R번 반복하는 식으로 P를 만들면 된다 www.acmicpc.net 향상된 for문과 함께 쓰기 좋은 getbyte()! byte 배열로 반환된다! 문자열로 넣고 싶다면 (char) 형변환을 잊지 말 것! 만약 형변환을 하지 않을 시 각 문자는 해당 문자의 아스키코드를 반환하기에 aaabbb가 아닌 979797989898이 된다! import java.io.BufferedReader; import java.io.InputStreamReader..
-
[Algorithm] 백준/Bronze/10757. 큰 수 A+B (BigInteger)Algorithm/문제 풀이 2023. 4. 6. 15:07
하루입니다. https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 왕 짱 큰 수를 입력받자! 자바의 BigInteger를 사용하면 된다. BigInteger는 Java에서 제공하는 클래스로, 임의의 정밀도 정수형을 표현하는 데 사용됩니다. 즉, int나 long 등과 같이 고정된 비트 수를 갖는 기본 자료형(primitive data type)과는 달리, BigInteger는 필요한 만큼의 메모리를 사용하여 아주 큰 정수값을 다룰 수 있습니다. BigInteger 클래스는 사칙연산, 비교 연산, 시프트 연산 등 정수형의 다양한 연산을 지원합니다. 이 클래스는..
-
[Algorithm] 백준/Bronze/10809. 알파벳 찾기Algorithm/문제 풀이 2023. 4. 6. 14:06
하루입니다. https://www.acmicpc.net/problem/10809 10809번: 알파벳 찾기 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출 www.acmicpc.net 오늘의 문제는 알파벳 위치를 찾는 문제. 26칸을 가지는 배열을 선언해서 -1을 넣어 주자. 알파벳 위치를 찾는 건 charAt 사용해서 - 97 해주고 (대문자는 -65) 위처럼 하면 a가 0부터 시작함! 1부터 시작하고 싶으면 -96 해주면 된당. 첫 번째 출력 위치는 for문 안의 i를 사용하면 되고 첫 번째 출력 위치만 넣기 위해서 배열값이 -1일 때만 넣는당 1...