스터디 그룹
Search


6주차
백준 - 세로읽기
•
첫 번째 풀이방법
package week5.backjoon;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Backjoon10798 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<String> stringList = new ArrayList<>();
StringBuilder sb = new StringBuilder();
int maxlength = 0;
for (int i = 0; i < 5; i++) {
stringList.add(br.readLine());
if (maxlength < stringList.get(i).length()) {
maxlength = stringList.get(i).length();
}
}
for (int i = 0; i < maxlength; i++) {
for (int j = 0; j < stringList.size(); j++) {
sb.append(stringList.get(j).charAt(i));
}
}
System.out.println(sb);
}
}
•
정답풀이
package week5.backjoon;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
public class Backjoon10798 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
List<String> stringList = new ArrayList<>();
StringBuilder sb = new StringBuilder();
int maxlength = 0; // 리스트 최대 길이 선언
for (int i = 0; i < 5; i++) {
stringList.add(br.readLine());
if (maxlength < stringList.get(i).length()) { // 리스트 요소의 최대 길이 찾기
maxlength = stringList.get(i).length();
}
}
for (int i = 0; i < stringList.size(); i++) {
if (stringList.get(i).length() < maxlength) { // 리스트의 요소 길이를 동일하게 맞춰주기 - repeat 메서드 사용(반복 기능)
stringList.set(i, stringList.get(i) + " ".repeat(maxlength - stringList.get(i).length()));
}
}
for (int i = 0; i < maxlength; i++) {
for (int j = 0; j < 5; j++) {
if (stringList.get(j).charAt(i) == ' ') { // 리스트 문자열의 문자가 ' ' 인 경우 추가하지 않기
continue;
}
sb.append(stringList.get(j).charAt(i));
}
}
System.out.println(sb);
}
}

5주차


4주차
참석 멤버
3주차 문제

3주차
유형 1 [난이도 상]
문제 1 [BOJ] 동전 0 - 그리디(실4) ⇒ [BOJ] 거스름돈 - 그리디(브2) 유사
https://www.acmicpc.net/problem/11047
# 두 수 입력 (N: n개 줄, K: 가치의 합)
N, K = map(int, input().split())
# coin 리스트 생성 - 컴프리핸션 개념 적용
coin_list = [int(input()) for _ in range(N)]
# coin 리스트 역순 정렬
coin_list.sort(reverse = True)
count = 0
# coin 리스트 요소(j)와 비교하여 K(합)가 j보다 크거나 같으면 갯수는 몫, 나머지는 거스름돈으로
for j in coin_list:
if K >= j:
count += (K // j)
K %= j
print(count)
문제 2 [BOJ] 다리놓기 - DP(실5)

2주차
•
알고리즘 스터디
•
수요조사
•
경험 유무

계획

일일 알고리즘 진행상황




