전체 글 86

[파이썬] SWEA 4408 자기 방으로 돌아가기

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWNcJ2sapZMDFAV8 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 발상이 어려웠던 문제였다... 1) 학생들이 방 숫자가 작은 곳에서 큰곳으로 가든, 큰곳에서 작은 곳으로 가든 그 방향을 알 필요는 없다 이게 무슨 말이냐 하면 1번 학생이 1번방에서 4번방으로 가고, 2번 학생이 1번 방에서 4번 방으로 가는 경우랑 1번 학생이 1번방에서 4번방으로 가고, 2번 학생이 4번 방에서 1번 방으로 가는 경우랑 아예 똑같다는 것이다. 그래서 헷갈림을 방지하기 위해 무조..

[파이썬] SWEA 11671 기지국

A, B, C 기지국 별로 상하좌우로 해당 기지국이 배정된 길이만큼 가면서 H를 바꿔주는 문제이다. 나는 X, H, A, B, C 가 아닌 제 3의 글자 (L)으로 바꿨다. j가 증가하면서 벽에 만났을때, 다른 기지국을 만났을 때 를 제외하고는 다 L로 바꿔주게끔 코드를 짰다. def wifi_reach(y, x, distance): dy = [-1, 1, 0, 0] dx = [0, 0, -1, 1] for i in range(4): j = 1 while j

[파이썬] 백준 1475번 방 번호

https://www.acmicpc.net/problem/1475 1475번: 방 번호 첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다. www.acmicpc.net bucket을 활용하면서 약간의 융용력이 필요한 문제였다. 일단, 방 번호를 list에 넣은 뒤, 각각 방 번호를 bucket에 넣었다. 그러면 6과 9 빼고 다른 번호들은 필요한 플라스틱 숫자를 반영한다. bucket = [0]*10 arr = list(map(int, input())) for i in range(len(arr)): bucket[arr[i]] += 1 6과 9는 서로 뒤집어서 사용할 수 있기 때문에, 6과 9의 개수 차이가 아무리 많이 나도 결국 필요한 숫자 세트의 수는 (6의..

[파이썬] 백준 6603 로또

https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 로또 번호가 주어지는 번호들의 개수, 번호들 로 한 줄에 주어진다. 일단 이 모두를 arr에 입력받은 후, 주어지는 번호들의 개수와 번호들을 서로 다른 변수에 저장한다. (하나는 int형 변수, 하나는 list) 첫 숫자가 0일때는 에러가 나기 때문에, if로 따로 빼서 처리해줬다. while True: arr = list(map(int, input().split())) n = arr[..

[자바스크립트] 조건문 : if 문, switch문

1. IF 문 조건 표현식의 결과값을 boolean 타입으로 변환 후 참/ 거짓을 판단 if, else if, else 조건은 소괄호 안에 작성 실행할 코드는 중괄호 안에 작성 블록 스코프 생성 const name = 'manager' if (name === 'admin') { console.log('관리자님 환영합니다') } else if (name === 'manager') { console.log('매니저님 환영합니다') } else { console.log('${name}님 환영합니다') } 2. SWITCH 문 조건 표현식의 결과값이 어느 값(case)에 해당하는지를 판별 주로 특정 변수의 값에 따라 조건을 분기할 때 활용 조건이 많아질 경우 if문보다 가독성이 나을 수 있음 꼭 하나의 값을 비..

JavaScript 2022.10.31

[자바스크립트] 연산자

할당 연산자 let c = 0 c+=10 console.log(c) // 10 : c에 10을 더한다 c-=3 console.log(c) // 7 :c에 3을 뺀다 c *=10 console.log(c) // 70 : c에 10을 곱한다 동등 연산자 두 피연산자가 같은 값으로 평가되는지 비교 후 boolean값 반환 예상치 못한 결과 발생할 수 있으므로 특별한 경우 제외하고 사용 X const a = 1 const b = '1' console.log(a==b) //true console.log(a==true) //true 쓰지말자… null이랑 undefined에서만 씀 일치 연산자 두 피연산자의 값과 타입이 모두 같은 경우 true 반환 같은 객체를 가리키거나, 같은 타입이면서 같은 값인지를 비교 엄격..

JavaScript 2022.10.31

[자바스크립트] 변수 선언 키워드 let, const, var

변수 선언 키워드 let: 지역변수를 선언 const: 읽기 전용 상수 선언 var: 변수를 선언 선언, 할당, 초기화 선언: 변수를 생성하는 행위 or 시점 할당: 선언된 변수에 값을 저장하는 행위 또는 시점 초기화: 선언된 변수에 처음으로 값을 저장하는 행위 또는 시점 블록 스코프 if for 함수 등의 중괄호 내부 블록 스코프를 가지는 변수는 바깥에서 접근 불가 let x = 1 if (x===1) { let x = 2 console.log(x) //결과: 2 } console.log(x) //결과: 1 변수 선언 let 재할당 가능, 재선언 불가능 let number =10 // 선언 및 초기값 할당 number = 20 // 재할당 let number = 10 // 선언 및 초기값 할당 let ..

JavaScript 2022.10.31

[파이썬] SWEA 11315 오목판정

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AXaSUPYqPYMDFASQ SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 2중for문을 돌면서 o를 만나면, omok이라는 함수를 실행한다. omok 함수를 연속된 돌이 5개 있는지를 확인하는 함수이다. True이면, flg=1으로 만든 후, 모든 for문을 break해서 YES를 출력한다. for testcase in range(1,T+1): flg = 0 N = int(input()) arr = [list(input()) for _ in range(N)] for i ..

[파이썬] 백준 7113 Rectangle (while문)

https://gkim1011.tistory.com/54 [파이썬] 백준 7113 Rectangle https://www.acmicpc.net/problem/7113 7113번: Rectangle Vilibald has decided to cut a right-angled checked page of size n×m cells into squares. First of all he cut off the largest possible square us.. gkim1011.tistory.com 정석으로 푸는건 재귀인데 recursionerror가 계속 생겨서 while문으로도 풀어보았다. 전체 코드) n, m = map(int, input().split()) cnt = 0 while True: if n>m: ..