Skip to content

fire-crew/BaekJoon-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Maintenance PRs Welcome λ¬Έμ˜μ‚¬ν•­ Greet everyone Judge hellobot issuebot

μ•Œκ³ λ¦¬μ¦˜ 곡뢀 및 μ½”λ”©ν…ŒμŠ€νŠΈ λŒ€λΉ„ μ˜€ν”ˆμ†ŒμŠ€ λ°±μ€€ 풀이 λ ˆν¬μ§€ν† λ¦¬μž…λ‹ˆλ‹€. λ³Έ λ ˆν¬λŠ” μŠ€ν„°λ”” λͺ©μ μœΌλ‘œ λ§Œλ“€μ–΄μ‘ŒμœΌλ©° λͺ¨λ“  PR은 ν™˜μ˜ν•©λ‹ˆλ‹€.

Language

  • Java
  • Python
  • JavaScript

πŸ’‘ Discussion?

κ³΅μ§€μ‚¬ν•­μ΄λ‚˜ QnA 및 μ§ˆμ˜μ‘λ‹΅μ€ discussion을 μ΄μš©ν•΄μ£Όμ„Έμš”.

πŸ“„ Contiribute GuideLine

μ‹€λ ₯이 λ›°μ–΄λ‚˜μ§„ μ•Šμ•„λ„ μ½”λ”©ν…ŒμŠ€νŠΈμ— 뢙을 μ •λ„μ˜ μ‹€λ ₯을 가지기 μœ„ν•œ λͺ¨μž„μž…λ‹ˆλ‹€. ꡬ글링에 μ˜μ‘΄ν•˜λŠ” 것이 μ•„λ‹Œ 집단지성이 λͺ¨μ—¬ λ‚˜λ¦„ 졜적의 μ†”λ£¨μ…˜μ„ κ΅¬ν•˜κ³ μž ν•©λ‹ˆλ‹€. 이 λ ˆν¬κ°€ μ•Œκ³ λ¦¬μ¦˜μ— ν₯λ―Έλ₯Ό 뢙일 수 μžˆλŠ” 기점이 λ˜λ €ν•©λ‹ˆλ‹€.

μ•„λž˜ κ·œμΉ™μ€ tony9402 λ‹˜μ˜ κ·œμΉ™μ„ λ”°λžμŠ΅λ‹ˆλ‹€.

πŸ“ Repository Architecture

각 μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•œ λ¬Έμ œλ“€μ€μ€ ν•΄λ‹Ή μ•Œκ³ λ¦¬μ¦˜ ν΄λ”μ—μ„œ λ³Ό 수 μžˆμŠ΅λ‹ˆλ‹€.
solution/data_structure에 μžˆλŠ” λ°±μ€€ 1158번 μš”μ„Έν‘ΈμŠ€ λ¬Έμ œμ— λŒ€ν•œ μ†”λ£¨μ…˜μ€ /data_structure/1158에 μžˆμŠ΅λ‹ˆλ‹€.ν•΄λ‹Ή κ²½λ‘œμ— μ†”λ£¨μ…˜ 파일이 μžˆμŠ΅λ‹ˆλ‹€.

πŸ’» Contribute 에 λŒ€ν•œ μ„€λͺ…

μ•„λž˜ 기쀀을 λ§žμΆ”μ–΄ μ—¬λŸ¬λΆ„λ“€μ˜ Solution Codeλ₯Ό main branch둜 Pull Request (PR) ν•΄μ£Όμ‹œλ©΄ λ©λ‹ˆλ‹€ !
Pull Request에 λŒ€ν•œ μ„€λͺ…은 μ—¬κΈ°μ—μ„œ λ³΄μ‹œλ©΄ λ©λ‹ˆλ‹€.

ν˜„μž¬ 이 RepoλŠ” μ½”λ”©ν…ŒμŠ€νŠΈλ₯Ό μ€€λΉ„ν•˜μ‹œλŠ” 뢄듀을 μœ„ν•΄ λ§Œλ“ κ±°λΌ μ–Έμ–΄λŠ” Java, Python 3, Javascript(Node.js) 총 3가지 μ–Έμ–΄λ§Œ ν—ˆμš©ν•©λ‹ˆλ‹€. 각 언어에 λŒ€ν•œ μ†”λ£¨μ…˜ 파일λͺ…κ³Ό 제좜 μ–Έμ–΄(ex. Java)λŠ” μ•„λž˜λ§Œ ν—ˆμš©ν•©λ‹ˆλ‹€.

Language 파일λͺ… 및 ν™•μž₯자 λ°±μ€€ 제좜 μ–Έμ–΄
Python 3 main.py Python 3, PyPy3
Java Main.java Java 8, Java 11
Node.js main.js node.js

Rule

❗️ 주의 ❗️

ν•„μˆ˜ - λ°˜λ“œμ‹œ μ•„λž˜ κ·œμΉ™λ“€μ„ μ§€μΌœμ£Όμ„Έμš”. μœ„λ°°λ˜λŠ” μ†”λ£¨μ…˜ μ½”λ“œκ°€ μžˆμ„μ‹œ Reject 될 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•΄λ‹Ή κ·œμΉ™μ€ μΆ”κ°€, μˆ˜μ •, μ‚­μ œκ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

  • Rule 0 : λ³Έ μŠ€ν„°λ””μ›μ€ ❗️주 3회의 PR μ˜λ¬΄κ°€ μžˆμŠ΅λ‹ˆλ‹€. Discussionμ΄λ‚˜ QnAλŠ” ν™˜μ˜μž…λ‹ˆλ‹€. issueλ₯Ό 톡해 각쒅 정보 PR도 ν™˜μ˜ν•©λ‹ˆλ‹€.
  • Rule 1 : λ‹€λ₯Έ μ‚¬λžŒμ˜ μ†”λ£¨μ…˜μ„ μžμ‹ μ΄ ν‘Ό κ²ƒμ²˜λŸΌ Pull Request (PR) ν•˜μ‹œλ©΄ μ ˆλŒ€β—οΈ μ•ˆλ©λ‹ˆλ‹€.
  • Rule 2 : μ•„λž˜μ™€ 같이 μ†”λ£¨μ…˜ 맨 μœ„μ— 정보λ₯Ό β—οΈλ°˜λ“œμ‹œ λ„£μ–΄μ£Όμ„Έμš”. (Authored Byμ—λŠ” github id둜 λ„£μ–΄μ•Ό ν•©λ‹ˆλ‹€.)
Link에 λŒ€ν•œ μ£Όμ†Ÿκ°’μ€ *https://www.acmicpc.net/source/31815683* 와 같은 문제 풀이 이후 μ£Όμ†Ÿκ°’ νŽ˜μ΄μ§€ ν•˜λ‹¨μ˜ *곡유* button ν΄λ¦­μ‹œ 생성가λŠ₯ν•©λ‹ˆλ‹€. κΌ­ 첨뢀 λΆ€νƒλ“œλ¦½λ‹ˆλ‹€.
/*
 Authored by : choipureum
 Co-authored by : -
 Link : http://boj.kr/3ee3d9284f2e4fd7b92b2a22e17d02d6
*/
  • Rule 3 : Pull Request (PR) ν•˜λ‚˜ λ‹Ή μ†”λ£¨μ…˜ ν•˜λ‚˜λ§Œ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 같은 λ¬Έμ œμ—¬λ„ μ–Έμ–΄λ§ˆλ‹€ λ‹€λ₯΄κ²Œ PR을 보내야 ν•©λ‹ˆλ‹€. μ΄λŠ” κ΄€λ¦¬μ˜ νŽΈμ˜μ„±μ„ μœ„ν•΄ μ μš©ν•©λ‹ˆλ‹€.
  • Rule 4 : Allow edits by maintainers μ˜΅μ…˜μ„ ν—ˆμš©μœΌλ‘œ λ‘¬μ•Όν•©λ‹ˆλ‹€.
  • Rule 5 : λΆ„λ₯˜μ— λ§žλŠ” μ†”λ£¨μ…˜μ„ μ˜¬λ €μ•Ό ν•©λ‹ˆλ‹€.
  • Rule 6 : λΆ„λ₯˜μ— μ—†μ„μ‹œ ꡬ뢄 폴더λ₯Ό 생성후 λ§Œλ“€μ–΄ μ£Όμ„Έμš”.
  • Rule 7 : Commitμ‹œ MessageλŠ” Add [ν’€μ΄λ²ˆν˜Έ] [μ–Έμ–΄] solution 으둜 ν†΅μΌν•©λ‹ˆλ‹€.
  • Rule 8 : 같은 λ¬Έμ œν’€μ΄κ°€ μžˆμ„μ‹œ 쒋은 효율의 μ½”λ“œλ₯Ό μš°μ„ ν•©λ‹ˆλ‹€.

Python

  • Rule 9 : 1 Tab == 4 space, 즉 λ“€μ—¬μ“°κΈ°λŠ” λ°˜λ“œμ‹œ 곡백문자 4개둜 ν•΄μ•Όν•©λ‹ˆλ‹€.

Java

  • Rule 10 : ν•΄λ‹Ή μ½”λ“œ 처럼 FastReader Classλ₯Ό μ΄μš©ν•΄μ„œ μž…λ ₯λ°›κΈ°λ₯Ό ꢌμž₯ν•©λ‹ˆλ‹€(ν•„μˆ˜μ•„λ‹˜).
    μž…λ ₯μ˜ˆμ‹œ
# Authored by : samuel95
# Co-authored by : -
# Link : https://www.acmicpc.net/source/31815683

import java.util.*;
import java.lang.*;
import java.io.*;

public class Main {
    public static void main(String[] args) {
        FastReader rd = new FastReader();

        int a = rd.nextInt();
        int b = rd.nextInt();
        System.out.println(a + b);
    }

    static class FastReader {
        BufferedReader br;
        StringTokenizer st;

        public FastReader() {
            br = new BufferedReader(new InputStreamReader(System.in));
        }

        String next() {
            while(st == null || !st.hasMoreElements()) {
                try {
                    st = new StringTokenizer(br.readLine());
                }
                catch (IOException e) {
                    e.printStackTrace();
                }
            }
            return st.nextToken();
        }

        int nextInt() { return Integer.parseInt(next()); }
        long nextLong() { return Long.parseLong(next()); }
        double nextDouble() { return Double.parseDouble(next()); }
        String nextLine() {
            String str = "";
            try {
                str = br.readLine();
            }
            catch (IOException e) {
                e.printStackTrace();
            }
            return str;
        }
    }
}

ꢌμž₯ - μˆ˜μ •ν•  사항이 있으면 μ œκ°€ 직접 μˆ˜μ •μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μˆ˜μ •μ„ ν• κ»˜ μžˆλ‹€λ©΄ 제 λ‹‰λ„€μž„ Co-Author에 μΆ”κ°€ν•©λ‹ˆλ‹€.

  • Rule 11 : λ³€μˆ˜μ™€ ν•¨μˆ˜μ˜ 이름은 μ–΄λŠ 정도 μ˜λ―Έν•˜λŠ” λ°”λ₯Ό λ“œλŸ¬λ‚΄λ©΄μ„œλ„ μ½”λ“œκ°€ κ°„κ²°ν•˜λ„λ‘ μ΅œλŒ€ 10 κΈ€μž μ΄λ‚΄λ‘œ ν•΄μ£Όμ„Έμš”.
    hap, gop, gaesan와 같은 λ³€μˆ˜λͺ…μ΄λ‚˜ ν•¨μˆ˜λͺ…은 μ‚¬μš©ν•˜μ§€ λ§μ•„μ£Όμ„Έμš”.
  • Rule 12 :ν•œ μ€„μ§œλ¦¬ if, for, while λ¬Έμ—λŠ” μ€‘κ΄„ν˜Έλ₯Ό 쓰지 μ•ŠλŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.
  • Rule 13 : 반볡문 μ•ˆμ—μ„œ if 문에 쑰건이 λ§Žμ€ 경우 continue, breakλ₯Ό ν™œμš©ν•΄μ£Όμ„Έμš”.
// 이 μ½”λ“œλ³΄λ‹€ μ•„λž˜μžˆλŠ” μ½”λ“œμ²˜λŸΌ μž‘μ„±ν•˜μ‹œλŠ” κ±Έ ꢌμž₯ν•©λ‹ˆλ‹€.
for(int k=0;k<4;k++){
    int qy = y + dy[k];
    int qx = x + dx[k];
    if(0 <= qy && qy < n && 0 <= qx && qx < n) {
        if(Map[qy][qx] != '0') {
            Map[qy][qx] = '0';
            q.push(make_pair(qy, qx));
        }
    }
}

for(int k=0;k<4;k++)
{
    int qy = y + dy[k];
    int qx = x + dx[k];
    
    if(0 <= qy && qy < n && 0 <= qx && qx < n) 
    {
        if(Map[qy][qx] != '0') 
        {
            Map[qy][qx] = '0';
            q.push(make_pair(qy, qx));
        }
    }
}
  • Rule 14 : λΆˆν•„μš”ν•œ 연산이 없도둝 μ΅œλŒ€ν•œ 정리λ₯Ό ν•΄μ£Όμ„Έμš”.
  • Rule 15 : 배열은 λ°˜λ“œμ‹œ 전역에 μ„ μ–Έν•΄μ£Όμ„Έμš”. λ°°μ—΄ μ‚¬μ΄μ¦ˆλŠ” μ—„μ²­ νƒ€μ΄νŠΈν•˜κ²Œ μž‘μ§€ 말고 +1 ~ +10 μ •λ„λ‘œ λ„‰λ„‰ν•˜κ²Œ μž‘μ•„μ£Όμ„Έμš”.