3. 함수
·
📝 끄적끄적/📖 Clean Code
작게 만들어라!함수는 작을수록 좋다.20줄도 길다.들여쓰기(indent)는 1단이나 2단을 넘어가면 안 된다. 한 가지만 해라!함수의 추상화 수준은 하나여야 한다.지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 하는 것이다. 서술적인 이름을 사용하라!코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다. 함수가 작고 단순할수록 서술적인 이름을 고르기도 쉬워진다.길고 서술적인 이름이 짧고 어려운 이름보다 좋다.IDE에서 이런저런 이름을 시도한 후 최대한 서술적인 이름을 골라도 좋다. 또한 이름을 붙일 때는 일관성이 있어야 한다. 모듈 내에서 함수 이름은 같은 문구, 명사, 동사를 사용한다.ex)`includeSetupAndTe..
[Java] 두 배열 합치기 - Two-Pointers Algorithm
·
💡 Algorithm/인프런
public class INF0301 { public ArrayList solution(int n, int m, int[] a, int[] b) { ArrayList answer = new ArrayList(); int p1 = 0, p2 = 0; while(p1 < n && p2 < m) { if(a[p1] < b[p2]) answer.add(a[p1++]); else answer.add(b[p2++]); } while(p1 < n) answer.add(a[p1++]); while(p2 < m) answer.add(b[p2++]); return answer; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); i..
[Java] 등수구하기 - Array(1, 2차원 배열)
·
💡 Algorithm/인프런
문제N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.같은 점수가 입력될 경우 높은 등수로 동일 처리한다.즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다.public class INF0208 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] score = new int[n]; for (int i = 0; i  풀이for (int i = 0; i 등수를 입력하기 위한 루프를 돈다.처음에는 1등으로 초기화 한다.남..
[JAVA] 임시반장 정하기 - Array(1, 2차원 배열)
·
💡 Algorithm/인프런
public class INF0211 { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] grid = new int[n+1][6]; for(int i=1; i
[JAVA] 봉우리 - Array(1, 2차원 배열)
·
💡 Algorithm/인프런
public class INF0210 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] grid = new int[n+2][n+2]; //0 채우기 for (int i = 0; i grid[i][j-1] && grid[i][j] > grid[i][j+1]) { answer++; } } } return answer; } } 풀이 정석대로 가생이에 0 채우고 중앙에 값을 입력받아 상하좌우를 비교한 방식. 문제는 없지만 나중에 DFS, BFS 등 난이도 있는 문제를 하다 보면 영상처럼 경곗값 확인을 자주 하게 되는데, 나처럼 if문에 상하좌우 조건을 4개 걸 경우에..
[Java] 특정 문자 뒤집기 - String(문자열)
·
💡 Algorithm/인프런
Problem 💻영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성하세요. Solution 💡public class INF0105 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); INF0105 inf = new INF0105(); System.out.println(inf.solution(s)); } public String solution(String s) { String answer = ""; ..