Backend
home

3주차

생성일
2025/01/24 05:52
태그

참석 멤버

멤버
참석 여부
유현준
O
김태환
O
한민혁
O
서영훈
O
하민성
O
박병찬
O

3주차 문제

문제 1 [BOJ] 오븐 시계
https://www.acmicpc.net/problem/2525
문제 2 [BOJ] 주사위 세개
https://www.acmicpc.net/problem/2480
문제 3 [BOJ] 윤년
https://www.acmicpc.net/problem/2753
문제 4 [BOJ] 사분면 고르기
https://www.acmicpc.net/problem/14681
문제 5 [BOJ] 별찍기 - 2
https://www.acmicpc.net/problem/2439
문제 6 [BOJ] 팰린드롬인지 확인하기
https://www.acmicpc.net/problem/10988
문제 7 [BOJ] 공 넣기
https://www.acmicpc.net/problem/10810
문제 8 [BOJ] 최댓값
https://www.acmicpc.net/problem/2562
문제 9 [BOJ] 평균
https://www.acmicpc.net/problem/1546
문제 10 [BOJ] 바구니 뒤집기
https://www.acmicpc.net/problem/10811
문제 11 [BOJ] 행렬 덧셈
https://www.acmicpc.net/problem/2738
문제 12 [PRO] 리스트 자르기
https://school.programmers.co.kr/learn/courses/30/lessons/181897
문제 13 [PRO] 공 던지기
https://school.programmers.co.kr/learn/courses/30/lessons/120843
문제 14 [BOJ] 최댓값 - 위 최댓값과 다른 문제입니다.
https://www.acmicpc.net/problem/2566

컨벤션

커밋 메세지 양식대로 Github에 커밋하기
풀었을 경우 -> solve : [플랫폼이름] {문제이름}_{날짜}
못푼 경우 -> unsolve : [플랫폼이름] {문제이름}_{날짜}
ex) solve : [BOJ] 다리놓기_240703
ex) unsolve : [PRO] 피로도_240705
플랫폼 표기 
BOJ -> 백준
PRO -> 프로그래머스
CDT -> 코드트리
사례

코드 이슈

코드 이슈 다는 방법 참고하여 주차별 팀원들 작성한 코드에 코드리뷰 하기
ex) 이 부분 설몀 부탁드려요… 이 부분에 대한 이해가 필요합니다…
모든 문제에 다 올린다기 보다 자기가 이해되지 않는 부분에 한해서 이슈를 작성

백준 문제풀이 시 주의사항

제출 시 클래스명은 Main, import 부분은 넣어주기
클래스명은 반드시 Main, 사용한 import는 반드시 함께 넣어주기
보통 import java.util.*, import java.io* 넣어주고 코드 작성
Main 이외의 클래스를 추가로 쓰고 싶으면 public이 아닌 클래스 혹은 inner 클래스로 사용
main문 자체가 static 함수이므로 거기서 사용하는 전역변수 및 모든 함수 또한 static이어야 한다.
// package는 본인 프로젝트 경로이므로 제출시 반드시 제거 // package com.BaekjoonCode; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ private int a = 0; private int b, c; //클래스 내부 함수 선언 private void test(){ //input your code } //실제로 실행이 되는 main 함수 public static void main(String[] args) throws Exception { //input your code } }
Java
복사
Scanner 보다 BufferedReader 사용
일반적으로 Scanner sc = new Scanner(System.in): 을 통해 입력을 받지만, Scanner는 내부적으로 nextInt(), nextFloat() 등을 호출할 때 입력한 값을 찾기 위해 정규식을 사용하므로 성능 면에서 느리게 동작한다.
사용하면 로직은 맞으나 시간 초과나서 틀리는 경우가 발생한다!!
마찬가지로 String 역시 split() 보다는 StringTokenizer로 구분하는 게 더 빠르다.
BufferedReader 사용 시 깔끔하게 맨 끝에 close를 해주는 게 좋다.
출력도 System.out.println()은 느림
StringBuilder - 출력할 것들을 전부 모아준 다음 그냥 System.out.println() 으로 출력해준다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); // StringBuilder 객체 사용 int n = Integer.parseInt(br.readLine()); for(int i=0; i < n; i++){ StringTokenizer st = new StringTokenizer(br.readLine()); int s = Integer.parsInt(st.nextToken()); for(int j=0; j < s; j++){ int data = Integer.parseInt(st.nextToken()); sb.append(data).append('\n'); } } System.out.println(sb); } }
Java
복사

4주차 문제 (범위 : 조건, 반복문, 1차원 배열, 2차원 배열) - 10문제

문제 1 [BOJ] 나머지
https://www.acmicpc.net/problem/3052
문제 2 [BOJ] 공 바꾸기
https://www.acmicpc.net/problem/10813
문제 3 [PRO] 369게임
https://school.programmers.co.kr/learn/courses/30/lessons/120891
문제 4 [BOJ] 수 정렬하기 3
https://www.acmicpc.net/problem/10989
문제 5 [BOJ] 일곱 난쟁이
https://www.acmicpc.net/problem/2309
문제 6 [BOJ] 분해합
https://www.acmicpc.net/problem/2231
문제 7 [PRO] 진료순서 정하기
https://school.programmers.co.kr/learn/courses/30/lessons/120835
문제 8 [PRO] 안전지대
https://school.programmers.co.kr/learn/courses/30/lessons/120866
문제 9 [PRO] 모의고사
https://school.programmers.co.kr/learn/courses/30/lessons/42840
문제 10 [BOJ] 달팽이 - 많이 어려움
https://www.acmicpc.net/problem/1913

Q&A

기타 의견

회의록