Skip to content

Commit

Permalink
Merge branch 'main' into 3-pu2rile
Browse files Browse the repository at this point in the history
  • Loading branch information
pu2rile committed Jul 10, 2024
2 parents a23317f + cdbbd60 commit 85bd450
Show file tree
Hide file tree
Showing 29 changed files with 827 additions and 7 deletions.
6 changes: 4 additions & 2 deletions honggukang0623/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,7 @@

| ์ฐจ์‹œ | ๋‚ ์งœ | ๋ฌธ์ œ์œ ํ˜• | ๋งํฌ | ํ’€์ด |
|:----:|:---------:|:----:|:-----:|:----:|
| 1์ฐจ์‹œ | 2023.10.27 | BFS | - | - |
---
| 1์ฐจ์‹œ | 2024.03.26 | ์‚ฌ์น™์—ฐ์‚ฐ |[๋ถ„์ˆ˜์˜๋ง์…ˆ]https://school.programmers.co.kr/learn/courses/30/lessons/120808 | [#5]https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/5 |
| 2์ฐจ์‹œ | 2024.03.29 | ๋ฐฐ์—ด |[๋ฐฐ์—ด๋‘๋ฐฐ๋งŒ๋“ค๊ธฐ]https://school.programmers.co.kr/learn/courses/30/lessons/120809 | [#7]https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/7 |
| 3์ฐจ์‹œ | 2024.04.05 | ๋ฐฐ์—ด |[์ค‘์•™๊ฐ’๊ตฌํ•˜๊ธฐ]https://school.programmers.co.kr/learn/courses/30/lessons/120811# | [#13]https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/13 |
| 4์ฐจ์‹œ | 2024.04.09 | ์ถœ๋ ฅ |[์ง๊ฐ์‚ผ๊ฐํ˜•์ถœ๋ ฅํ•˜๊ธฐ]https://school.programmers.co.kr/learn/courses/30/lessons/120823 | [#17]https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/17/commits|
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
function solution(polynomial) {
const values = polynomial.split(' + ');
console.log("values : ", values);
let x = 0;
let c = 0;
for(let i=0;i<values.length;i++) {
const item = values[i];
if(item[item.length-1] !== 'x') {
c += Number(item);
}
else {
// x์ผ๋•Œ
const num = item.split('x')[0];
if(num === '') {
x += 1;
} else {
x += Number(num)
}
}
}
let answer = '';
if(x === 1) {
answer += 'x';
}
if(x > 1) {
answer += `${x}x`;
}

if(x === 0 && c > 0) {
answer += c;
}
else if(c > 0) {
answer += ` + ${c}`;
}
return answer;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
function solution(numbers) {
var answer = [];


let cnt = 0;
while(cnt < numbers.length){
answer.push(numbers[cnt]*2);
cnt = cnt +1;
}
return answer;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
function solution(numer1, denom1, numer2, denom2) {
var answer = [];
const numer = numer1 * denom2 + numer2 * denom1;
const denom = denom1 * denom2;

let minNumber;
if(numer < denom){
minNumber = numer;
} else {
minNumber = denom;
}


while(true){
if(numer % minNumber === 0){
if(denom % minNumber === 0){
return [numer / minNumber, denom / minNumber];
}
}
minNumber = minNumber -1;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
function solution(array) {

let arrayCnt = 0;
let newArray = [];
while(arrayCnt < array.length){
let minNumber = 1000;

let cnt = 0;
while(cnt < array.length){
if(minNumber > array[cnt]){
minNumber = array[cnt];
}
cnt = cnt + 1;
}

newArray.push(minNumber);

let cnt2 = 0;
while(cnt2 < array.length){
if(minNumber === array[cnt2]){
array[cnt] = 1000;
break;
}
cnt2 = cnt2 + 1
}

arrayCnt = arrayCnt + 1;
}
return newArray[Math.floor(array.length / 2)];
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});

let input = [];

rl.on('line', function (line) {
input = line.split(' ');
}).on('close', function () {
const n = Number(input[0]);

let line = 1;
while(line <= n){

let starStr = "";
let cnt = 0;
while(cnt < line){
starStr = starStr+"*"
cnt = cnt + 1;
}

console.log(starStr)
line = line + 1;
}
});
11 changes: 10 additions & 1 deletion oesnuj/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,14 @@

| ์ฐจ์‹œ | ๋‚ ์งœ | ๋ฌธ์ œ์œ ํ˜• | ๋งํฌ | ํ’€์ด |
|:----:|:---------:|:----:|:-----:|:----:|
| 1์ฐจ์‹œ | 2023.10.27 | BFS | - | - |
| 1์ฐจ์‹œ | 2024.03.26 | ์Šคํƒ | [ํ›„์œ„ํ‘œ๊ธฐ์‹2](https://www.acmicpc.net/problem/1935) | [#4](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/4) |
| 2์ฐจ์‹œ | 2024.03.29 | ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ | [์—๋””ํ„ฐ](https://www.acmicpc.net/problem/1406) | [#8](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/8) |
| 3์ฐจ์‹œ | 2024.04.02 | ๋ฑ | [์นด๋“œ ๋†“๊ธฐ](https://www.acmicpc.net/problem/18115) | [#11](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/11) |
| 4์ฐจ์‹œ | 2024.04.06 | ์Šคํƒ | [์˜ฅ์ƒ ์ •์› ๊พธ๋ฏธ๊ธฐ](https://www.acmicpc.net/problem/6198) | [#14](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/14) |
| 5์ฐจ์‹œ | 2024.04.13 | ์ด๋ถ„ํƒ์ƒ‰ | [๋“ฃ๋ณด์žก](https://www.acmicpc.net/problem/1764) | [#20](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/20) |
| 6์ฐจ์‹œ | 2024.05.06 | ๊ธฐํ•˜ํ•™ | [์ •์‚ฌ๊ฐํ˜•](https://www.acmicpc.net/problem/1485) | [#22](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/22) |
| 7์ฐจ์‹œ | 2024.05.08 | ์Šคํƒ, ํ, ๋ฑ | [queuestack](https://www.acmicpc.net/problem/24511) | [#24](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/24) |
| 8์ฐจ์‹œ | 2024.05.13 | ์šฐ์„ ์ˆœ์œ„ ํ | [์นด๋“œ ์ •๋ ฌํ•˜๊ธฐ](https://www.acmicpc.net/problem/1715) | [#27](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/27) |
| 9์ฐจ์‹œ | 2024.05.30 | ๊ตฌํ˜„ | [๋น™๊ณ ](https://www.acmicpc.net/problem/2578) | [#30](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/30) |
| 10์ฐจ์‹œ | 2024.07.04 | ๊ตฌํ˜„ | [์ƒ์–ด์ดˆ๋“ฑํ•™๊ต](https://www.acmicpc.net/problem/21608) | [#34](https://github.com/AlgoLeadMe/AlgoLeadMe-10/pull/34) |
---
78 changes: 78 additions & 0 deletions oesnuj/๊ตฌํ˜„/21608.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
const fs = require('fs');
const filepath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
const input = fs.readFileSync(filepath).toString().trim().split('\n');
//์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ •๋ฆฌ
const N = +input.shift();
const students = input.map(x => {
const [num, ...likes] = x.trim().split(' ').map(Number);
return { num, likes };
});

let board = Array.from({ length: N }, () => Array(N).fill(0));

const dr = [-1, 1, 0, 0];
const dc = [0, 0, -1, 1];

main();

function main(){
for(let i=0; i< N**2; i++){
if(i == 0){
board[1][1] = students[i].num; //์ฒซํ•™์ƒ์€ 1,1์— ๋ฌด์กฐ๊ฑด ์•‰๋Š”๋‹ค.
continue;
}
choiceSeat(students[i].num); //ํ•™์ƒ์„ ์กฐ๊ฑด์— ๋งž๊ฒŒ ์•‰ํžˆ๊ธฐ
}
console.log(calcSatisfy()); //๋ชจ๋‘ ์•‰์€ ํ›„ ๋งŒ์กฑ๋„ ๊ณ„์‚ฐํ•˜๊ธฐ
}

// ์ตœ์ ์˜ ์ž๋ฆฌ ์„ ํƒ ๋ฐ ํ•™์ƒ ๋ฐฐ์น˜ ํ•จ์ˆ˜
function choiceSeat(studentNum){
const neighborInfos = []; //์ธ์ ‘ ์ž๋ฆฌ ์ •๋ณด๋ฅผ ๋ชจ์œผ๋Š” ๋ฐฐ์—ด
for(let i = 0; i<N; i++){
for(let j =0; j<N; j++){
if(board[i][j] !== 0) continue; //์ด๋ฏธ ์ฐจ์žˆ๋Š” ์ž๋ฆฌ ํŒจ์Šค
neighborInfos.push(getSeatInfo(i, j, studentNum));
}
}
neighborInfos.sort((a, b) => {
if (a.match !== b.match) {
return b.match - a.match; // match ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
} else if (a.empty !== b.empty) {
return b.empty - a.empty; // empty ๊ธฐ์ค€ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
} else if (a.r !== b.r) {
return a.r - b.r; // r ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
} else {
return a.c - b.c; // c ๊ธฐ์ค€ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
}
});
board[neighborInfos[0].r][neighborInfos[0].c] = studentNum; //์ตœ์ ์˜ ์œ„์น˜์— ์•‰ํžˆ๊ธฐ
}

// ํŠน์ • ์ž๋ฆฌ์˜ ์ธ์ ‘ ์ •๋ณด ๊ณ„์‚ฐ ํ•จ์ˆ˜
function getSeatInfo(r, c, studentNum){
let empty = 0;
let match = 0;
// ํ•™์ƒ ๋ฒˆํ˜ธ์— ๋งž๋Š” ์ข‹์•„ํ•˜๋Š” ํ•™์ƒ๋“ค ์ฐพ๊ธฐ
let studentLikes = students.find(student => student.num === studentNum)?.likes || [];
for(let i = 0; i< 4; i++){
nr = r + dr[i];
nc= c + dc[i];
if(nr < 0 || nc < 0 || nr >= N || nc >= N) continue;
if (board[nr][nc] == 0) empty++;
else if(studentLikes.includes(board[nr][nc])) match++
}
return { r: r, c: c, empty: empty, match: match };
}

//๋งŒ์กฑ๋„ ์ฒ˜๋ฆฌ
function calcSatisfy(){
let result = 0;
for(let i = 0; i<N; i++){ //๋‚จ์•„์žˆ๋Š” ๋ชจ๋“  ์ž๋ฆฌ์˜ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘
for(let j =0; j<N; j++){
result += Math.floor(10 ** (getSeatInfo(i, j ,board[i][j]).match-1));
}
}
return result;
}
์ถœ์ฒ˜: https://oesnuj.tistory.com/entry/Nodejs-๋ฐฑ์ค€-Javascript-21608-์ƒ์–ด-์ดˆ๋“ฑํ•™๊ต [๋น„ํŠธ๋กœ ๊ทธ๋ฆฌ๋Š” ์„ฑ์žฅ์ผ๊ธฐ:ํ‹ฐ์Šคํ† ๋ฆฌ]
79 changes: 79 additions & 0 deletions oesnuj/๊ตฌํ˜„/2578.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#include <iostream>
using namespace std;

const int BINGO_SIZE = 5;
int board[BINGO_SIZE][BINGO_SIZE];

void changeBingo(int target);
int checkBingo();



int main()
{
ios::sync_with_stdio(0); cin.tie(0);
for (int i = 0; i < BINGO_SIZE; i++)
{
for (int j = 0; j < BINGO_SIZE; j++)
{
cin >> board[i][j];
}
}

int sayCnt = 0;
for (int i = 0; i < BINGO_SIZE * BINGO_SIZE; i++)
{
int num;
cin >> num;
sayCnt++;
changeBingo(num);
if (checkBingo() >= 3) {
cout << sayCnt;
return 0;
}
}
return 0;
}


void changeBingo(int target) //์‚ฌํšŒ์ž๊ฐ€ ๋ถ€๋ฅธ ์ˆ˜ ์ฒดํฌํ•˜๊ธฐ
{
for (int i = 0; i < BINGO_SIZE; i++){
for (int j = 0; j < BINGO_SIZE; j++){
if (board[i][j] == target){
board[i][j] = 0;
return;
}
}
}
return;
}

int checkBingo() //ํ˜„์žฌ ๋ณด๋“œํŒ์— ๋น™๊ณ ๊ฐ€ ๋ช‡์ค„์ธ์ง€
{
int bingoCnt = 0;

for (int i = 0; i < BINGO_SIZE; i++) //๊ฐ€๋กœ, ์„ธ๋กœ ๋น™๊ณ  ํ™•์ธ
{
int horizontal = 0, vertical = 0;
for (int j = 0; j < BINGO_SIZE; j++){
if (!board[i][j])
horizontal++;
if (!board[j][i])
vertical++;
}
if (horizontal == BINGO_SIZE) bingoCnt++;
if (vertical == BINGO_SIZE) bingoCnt++;
}

int right_diagonal = 0, left_diagonal = 0;
for (int i = 0; i < BINGO_SIZE; i++) //๋Œ€๊ฐ์„  2๊ฐœ ๋น™๊ณ  ํ™•์ธ
{
if (!board[i][i]) right_diagonal++;
if (!board[i][BINGO_SIZE - i - 1]) left_diagonal++;
}
if (right_diagonal == BINGO_SIZE) bingoCnt++;
if (left_diagonal == BINGO_SIZE) bingoCnt++;

return bingoCnt;
}
53 changes: 53 additions & 0 deletions oesnuj/๊ธฐํ•˜/1485.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#include <iostream>
#include <cmath>
#include <vector>
#include <algorithm>
using namespace std;

struct Point
{
int x, y;
};

int calcDistance(Point a, Point b)
{
return pow(a.x - b.x, 2) + pow(a.y - b.y, 2);
}

bool compareInfo(Point &a, Point &b)
{
if(a.x == b.x)
return a.y < b.y;
return a.x < b.x;
}

int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);

int n;
cin >> n;

while (n--)
{
vector <Point> v(4);
for (int i = 0; i < 4; i++) {
cin >> v[i].x >> v[i].y;
}
sort(v.begin(), v.end(),compareInfo);
//2 3
//0 1
int s1 = calcDistance(v[0], v[1]); //์„ ๋ถ„
int s2 = calcDistance(v[0], v[2]);
int s3 = calcDistance(v[1], v[3]);
int s4 = calcDistance(v[2], v[3]);

int dia1 = calcDistance(v[0], v[3]); //๋Œ€๊ฐ์„ 
int dia2 = calcDistance(v[1], v[2]);
if (s1 == s2 && s2 == s3 && s3 == s4 && dia1 == dia2) //๋„ค๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™๊ณ  ๋Œ€๊ฐ์„ ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™๋‹ค.
cout << 1 << '\n';
else
cout << 0 << '\n';
}
return 0;
}
Loading

0 comments on commit 85bd450

Please sign in to comment.