forked from code-clash/is-string-well-formed
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			recursive-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| cd9a9e3936 | 
| @@ -1,20 +1,35 @@ | ||||
| import java.util.*; | ||||
| import java.io.*; | ||||
| import java.math.*; | ||||
| import java.util.function.BiPredicate; | ||||
|  | ||||
| /** | ||||
|  * Template code to help you parse the standard input  | ||||
|  * according to the problem statement. | ||||
|  **/ | ||||
| class Solution { | ||||
| 	 | ||||
| 	public static void main( String[] args ) { | ||||
| 		Scanner in = new Scanner( System.in ); | ||||
| 		// read values with in.next...() methods | ||||
| 		 | ||||
| 		// code your solution here | ||||
| 		 | ||||
| 		// Write result with System.out.println() | ||||
| 		System.out.println( "value" ); | ||||
| 	} | ||||
|      | ||||
|     // best readable version, also without dark ASCII code tricks | ||||
|     private static final BiPredicate<Integer, Integer> BRACKETS_MATCH = ( c1, c2 ) -> ( c1 != null && c2 != null ) | ||||
|             && (( c1 == '(' && c2 == ')' ) || ( c1 == '[' && c2 == ']' ) || ( c1 == '{' && c2 == '}' )); | ||||
|      | ||||
|     // code your solution here | ||||
|     private static boolean checkNextChar( Deque<Integer> stack, Iterator<Integer> iter ) { | ||||
|         if ( ! iter.hasNext() ) return stack.isEmpty(); | ||||
|          | ||||
|         int c = iter.next(); | ||||
|         if ( BRACKETS_MATCH.test( stack.peek(), c )) { | ||||
|             stack.pop(); | ||||
|         } | ||||
|         else { | ||||
|             stack.push( c ); | ||||
|         } | ||||
|          | ||||
|         return checkNextChar( stack, iter ); | ||||
|     } | ||||
|      | ||||
|     public static void main( String[] args ) { | ||||
|         // hint: read values via Scanner methods | ||||
|         var inputLine = new Scanner( System.in ).nextLine(); | ||||
|          | ||||
|         var stack = new ArrayDeque<Integer>( inputLine.length() ); | ||||
|         var iter  = inputLine.chars().iterator(); | ||||
|          | ||||
|         // Write result with System.out.println() | ||||
|         System.out.println( checkNextChar( stack, iter ) ); | ||||
|     } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user