![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/dlyulZ/btrNyFVCWrV/PWhxCrTno42sjLKQWT9Tik/img.png)
🎈 문제 및 해석 테스트 케이스의 총 개수, 각 과목의 총 학생 수, 해당 과목의 학생수가 차례대로 주어진다. 입력으로 들어오는 값의 종류가 총 세가지이므로 이들을 잘 분리하는 것, 평균을 구하는 것, 반올림하여 소수점 셋째 자리까지 구하는 것까지 이 세가지 항목이 이 문제의 핵심이라고 할 수 있다. 🎯 코드 및 문제 풀이 const fs = require('fs'); let input = fs.readFileSync('/dev/stdin').toString().split('\n'); const testCase = Number(input[0]); for(let i=1; iNumber(i)); let n = line[0]; line = line.splice(1, n); // 학생 수를 나타내는 0번째 수 ..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/bazQMs/btrNFTkNuGi/9WTTGFYLPK1YC7lBK2VDO0/img.png)
우선 백준에서 JS로 문제를 풀기 위해서는 입출력 부분도 구현을 했어야했는데, 이를 위해 fs 모듈을 사용하는게 빠르다고 하여 이 모듈을 사용하여 입출력을 다루기로 하였다. 이 부분과 관련하여 잘 정리해주신 블로그가 있어 Reference에 기재하였으며, 이를 토대로 구현하였다. 파일 입력 받기 아래의 코드를 통해 입력되는 모든 것을 문자열의 형태로 한번에 input에 저장할 수 있다. 이후 알아서 spit() 함수를 통해 분리하여 사용하면 된다. 백준 사이트에 제출할때는 readFileSync의 인자로 '/dev/stdin/'을 주어야하지만, 로컬에서 돌릴 때에는 별도의 입력값이 적혀있는 txt 문서를 준비하고 해당 문서의 경로를 적어주면 된다. const fs = require('fs'); let i..
[문제] 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 [내 코드] import sys T = int(sys.stdin.readline().rstrip()) dic = {} for line in sys.stdin: txt = line.rstrip() if txt in dic.keys(): continue dic[txt] = len(txt) for k, v in sorted(dic.items(), key=lambda x: (x[1], x[0])): print(k) 입력된 단어들 중 중복된 단어가 없다길래, 이를 키로 갖는 딕셔너리 구조는 어떨까 싶었다. 그 후 들어온 입력 값을 줄마다 처리하..
![](http://i1.daumcdn.net/thumb/C200x200/?fname=https://blog.kakaocdn.net/dn/cucbqw/btrr2ypGDr6/lFnoFsfCkUpKnDtmiOCQvk/img.png)
[백준 10814] 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. [내 코드] n = int(input()) info = {} for i in range(0, n): x, y = input().split()# ==> x, y = sys.stdin.readline().rstrip().split() x = int(x) if x in info.keys(): info[x].append(y) else: info[x] = [y] for k,v in sorted(info.items()): for i in range(len(v)): print(k, v[i]) 코드 자체도..
sequence 객체에서 특정 수(step)를 반복하여 얻은 위치에 해당하는 원소만 뽑아낼 수 있다. 이를 이용하여 list 객체를 역순으로 배치할 수 있다. # sequence 객체 슬라이싱 seq[start:end:step] >>> s = range(20) >>> s [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] >>> s[::3] [0, 3, 6, 9, 12, 15, 18] >>> >>> # 역순 >>> s[::-1] [19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0] 이것만 잘 활용하면 금방 풀렸을 문제였다ㅠ